Skip to content

§00Integrations / ERP

Oracle NetSuite integration: NetSuite on REST. Nothing to migrate in 2028.

Oracle is removing SOAP web services from NetSuite: no new SOAP integrations from 2027.1, and every SOAP endpoint disabled in 2028.2. PartnerMCP builds on SuiteTalk REST and SuiteQL, takes only its share of the account-wide concurrency pool, and works with the NetSuite AI Connector Service where an MCP path helps.

How PartnerMCP connects

01Primary path

SuiteTalk REST (record service)

Create, read, update and delete on records such as salesorder, customer and invoice at /services/rest/record/v1, plus !transform — a salesorder into an itemfulfillment, for example — and asynchronous requests with Prefer: respond-async.

Product
Oracle NetSuite
Vendor
Oracle
Category
ERP
Runs
Cloud
Connects through
SuiteTalk REST + SuiteQL
Detects changes with
SuiteScript user events · SuiteQL polling on lastmodifieddate
On this page
  1. 01What you can build
  2. 02Objects and events
  3. 03What it handles
  4. 04Pairings
  5. 05Questions
  6. 06References
§01—What you can build

What you can build.

Each one starts as a sentence. PartnerMCP answers with a plan in NetSuite’s own objects, then builds it against your systems.

01HubSpot won deals → NetSuite, payments → Slack

“Whenever a deal closes in HubSpot, create the customer and sales order in NetSuite. When payment arrives, update HubSpot and notify the account owner in Slack.”

Build this integration

PartnerMCP will

  1. Act on deal.propertyChange when dealstage reaches the pipeline's won stage.
  2. Find the customer by external ID, or create it from the HubSpot company.
  3. Create the salesorder with its item lines through SuiteTalk REST.
  4. Watch invoice and customerpayment changes with SuiteQL on lastmodifieddate.
  5. Update the HubSpot deal and post to the owner in Slack with chat.postMessage.

02Salesforce Opportunity → NetSuite sales order

“When an Opportunity closes in Salesforce, create the customer and sales order in NetSuite and keep fulfillment and invoice status on the Opportunity.”

Build this integration

PartnerMCP will

  1. Start on IsWon = true from Salesforce Change Data Capture.
  2. Look up the customer by external ID before creating it — synchronous creates have no idempotency key.
  3. Create the salesorder from the OpportunityLineItems.
  4. Follow itemfulfillment and invoice, and write their status back to the Opportunity.

03Shopify → NetSuite

“Create NetSuite sales orders from Shopify orders and keep fulfillments, inventory and refunds in sync.”

Build this integration

PartnerMCP will

  1. Verify each Shopify webhook and drop duplicates by X-Shopify-Webhook-Id.
  2. Create the salesorder through an asynchronous request with an X-NetSuite-idempotency-key.
  3. Transform the salesorder into an itemfulfillment when it ships, with its inventoryLocation.
  4. Send fulfillments and stock back to Shopify, and turn refunds into creditmemo records for review.

04Stripe payments → NetSuite

“Apply Stripe payments to open NetSuite invoices and reconcile every payout.”

Build this integration

PartnerMCP will

  1. Verify Stripe-Signature and drop duplicate events.
  2. Find the open invoice by the reference stored when it was issued.
  3. Create the customerpayment applied to that invoice.
  4. Tie fees and net amounts to each payout through Stripe BalanceTransaction, and hold mismatches for review.
§02—Objects and events

Objects and events, by their API names.

The records PartnerMCP reads and writes in NetSuite, and the events that start a run.

  • Customer and contact

    customercontact

    The customer master. PartnerMCP matches on an external ID it stores on the record.

  • Quote

    estimate

    The quote that becomes a sales order.

  • Sales order

    salesorder

    Lines in the item sublist. A transform to itemfulfillment must include inventoryLocation.

  • Item fulfillment

    itemfulfillment

    Created from the sales order with !transform. Without Advanced Shipping, fulfilling also creates the invoice; with it, the two are independent.

  • Invoice

    invoicecashsale

    Customer invoices, or a cash sale where payment and billing happen together.

  • Customer payment

    customerpayment

    Applied to open invoices.

  • Credits and returns

    creditmemoreturnauthorization

    For refunds and returns coming from commerce.

  • Items

    inventoryitem

    And the other item types, with inventoryadjustment, transferorder and location for stock.

  • Procure-to-pay

    purchaseorderitemreceiptvendorbill

    With vendor and vendorpayment.

Events

  • SuiteScript user events

    NetSuite has no native outbound webhooks. An afterSubmit User Event script calls out with N/https, ideally handing heavy work to a Map/Reduce or scheduled script so saves don't block. PartnerMCP proposes the script and deploys it only with your approval.

  • Workflow Action scripts

    Fire for changes from the UI, the API and CSV imports alike — useful when every path into a record must be caught.

  • SuiteQL polling

    Queries on lastmodifieddate find what changed without installing anything in the account. PartnerMCP's default.

  • Async job status

    Asynchronous REST requests return a job PartnerMCP follows at /services/rest/async/v1/job/<id>.

§03—What it handles

What PartnerMCP handles for you.

The details that break NetSuite integrations in production, and what PartnerMCP does about each one.

  1. 01

    Account-wide concurrency

    NetSuite allows 5 concurrent requests on Standard, 15 on Premium and 20 on Enterprise and Ultimate, plus 10 per SuiteCloud Plus licence — shared by SOAP, REST, RESTlets and the AI Connector Service. PartnerMCP works inside a fixed share (allocatable per integration record) and backs off as soon as NetSuite rejects a request over the limit.

  2. 02

    SOAP is being removed

    SOAP integrations stop working in 2028.2. PartnerMCP's NetSuite flows use REST, SuiteQL and RESTlets only, so there's no SOAP dependency to migrate later.

  3. 03

    REST needs SuiteTax

    REST web services don't support legacy tax features. On accounts that still use legacy tax, PartnerMCP detects it during discovery and handles tax fields through a RESTlet.

  4. 04

    Idempotency only on async requests

    X-NetSuite-idempotency-key works with Prefer: respond-async; a repeated key returns IDEMPOTENCY_ERROR and points at the original job. For synchronous creates, PartnerMCP looks up the external ID first.

  5. 05

    Fulfillment can create the invoice

    Without Advanced Shipping, creating an item fulfillment also creates the related invoice. PartnerMCP reads the account's setting before planning the flow, so invoices aren't created twice.

  6. 06

    15-minute timeout

    Requests running longer than 15 minutes time out. Long work goes through asynchronous requests and PartnerMCP follows the job instead.

  7. 07

    No Administrator role for MCP

    The AI Connector Service refuses the Administrator role. PartnerMCP connects with a dedicated role that has MCP Server Connection, OAuth 2.0 Access Tokens and REST Web Services permissions — and only what its flows need.

§04—Pairings

Pairings, step by step.

Each pair page has the plan, the field mapping and the edge cases for that combination.

§05—Questions

NetSuite integration questions.

We still run SOAP integrations. What happens in 2028.2?

They stop working: Oracle disables every SOAP endpoint in 2028.2, and from 2027.1 new SOAP integrations can't be built. PartnerMCP's NetSuite flows use REST and SuiteQL, so moving a SOAP flow means describing it, testing it in your sandbox and switching over.

Does PartnerMCP use the NetSuite AI Connector Service?

For reads and questions, where you've enabled it. Its SuiteQL tools are read-only, the Administrator role isn't supported, and it draws on the same concurrency pool as your integrations — so production writes go through SuiteTalk REST.

Will PartnerMCP slow down our other integrations?

It's designed not to. NetSuite's concurrency limit is account-wide, so PartnerMCP runs inside the share you allocate to its integration record and backs off as soon as NetSuite rejects a request over the limit.

Does it need scripts in our account?

Not for polling: SuiteQL on lastmodifieddate needs nothing installed. For near-real-time triggers, PartnerMCP can propose a User Event script, deployed only with your approval.

Which authentication does it use?

OAuth 2.0. Server-to-server flows use client credentials (M2M) with a certificate. Token-based authentication can't be used for new integrations from 2027.1.

§06—References

Vendor documentation.

The public documentation behind the technical details on this page.

§07Next step

Connect NetSuite to the rest of your systems.

Describe what should happen. PartnerMCP shows you the plan before anything is built.