Integration

Connect Salesforce to NetSuite

Keep the CRM and the ERP in step: push closed-won deals into NetSuite as sales orders, map customers and items cleanly, and send billing and fulfillment status back to Salesforce, with every sync recorded as an ordered run log you can replay.

Two-way
Direction
prompt or scheduled
Latency
Opportunity closed-won
Common trigger
Template, then map fields
Setup

Why teams connect Salesforce and NetSuite

Sales lives in Salesforce, finance lives in NetSuite, and the handoff between them is usually a spreadsheet, a nightly export, or a person rekeying orders. That gap is where revenue leaks and month-end slows down.

  • Closed-won deals become NetSuite sales orders without manual re-entry, so fulfillment starts the same day
  • Customers and items are matched, not duplicated, using external IDs on both sides
  • Invoice, payment, and fulfillment status flows back to Salesforce, so reps stop asking finance for updates
  • Every sync is an ordered event log, so a disputed order has a record of exactly what moved and when

Worked example

The order-to-cash flow most teams turn on first.

Closed-won Opportunity to NetSuite Sales Order, status back to Salesforce

Triggered when an Opportunity reaches Closed Won, with a human approval step for any order above a threshold.

  1. 1Trigger: Salesforce New or updated record on Opportunity where StageName = Closed Won.
  2. 2Resolve customer: look up NetSuite Customer by externalId = Salesforce Account.Id. If none, create it from Account fields.
  3. 3Resolve items: for each OpportunityLineItem, match NetSuite Item by Product2.ProductCode → itemId.
  4. 4Approval: if Amount > 50,000, pause for finance approval by email link. Otherwise continue.
  5. 5Create order: NetSuite Create record on SalesOrder, mapping the fields in the table below.
  6. 6Write back: Salesforce Update record on the Opportunity, setting NetSuite_SO_Number__c and Order_Status__c = Submitted.
  7. 7Ongoing: a second flow listens for NetSuite Invoice and ItemFulfillment changes and updates Order_Status__c on the Opportunity.

Field mapping

The starting map for the Opportunity to Sales Order step. Adjust to your NetSuite form and Salesforce customizations.

SalesforceNetSuiteNotes
Account.IdCustomer.externalIdMatch key. Creates the customer if missing.
Opportunity.IdSalesOrder.externalIdIdempotency key, prevents duplicate orders on retry.
Opportunity.CloseDateSalesOrder.tranDateOrder date.
Opportunity.CurrencyIsoCodeSalesOrder.currencyFails the run if the currency is not set up in NetSuite.
OpportunityLineItem.QuantitySalesOrder.item.quantityLine level.
Product2.ProductCodeSalesOrder.item.itemResolved to internal item ID before write.
OpportunityLineItem.UnitPriceSalesOrder.item.rateOverride, so NetSuite price rules do not restate the quoted price.
Owner.EmailSalesOrder.salesRepResolved to a NetSuite employee record.

What syncs, each direction

  • Orders and customers. Closed-won opportunities become sales orders. New accounts become customers. Quote revisions update the open order. (Salesforce to NetSuite)
  • Billing and fulfillment status. Invoice created, payment received, and items shipped events update order status and paid-through date on the Opportunity. (NetSuite to Salesforce)
  • Financial account fields. Credit hold, payment terms, and account balance sync onto the Salesforce Account so reps see risk before they quote. (NetSuite to Salesforce)
  • Product and price book. New items and price changes keep the Salesforce price book and NetSuite item list aligned. (Either direction)

Governance and audit

The same controls apply to this sync as to every other Neblex workload.

  • Ordered run log. Every sync is an event log with step-level input and output. Replay a run without re-firing external calls.
  • Approval steps. Pause any flow for a person: large orders, credit holds, or first orders for a new customer.
  • Scoped access. The connection uses a service account with only the objects this sync needs, not broad admin access.
  • Environments. Build and test against a Salesforce sandbox and a NetSuite sandbox account, then promote the same flow to production.

Frequently asked questions

Is the Salesforce to NetSuite sync prompt or batched?

Either. The order-to-cash flow runs on the schedule you set off a Salesforce change event. High-volume item or customer syncs can run on a schedule instead.

How are duplicate customers and orders prevented?

Both sides are matched on external IDs (Salesforce record IDs stored on the NetSuite records), and the order write is idempotent, so a retry updates the existing order rather than creating a second one.

What happens when a sync fails midway?

The run stops at the failed step with the error and the data in context. Fix the cause, for example an unmapped item, and replay from that step. Steps that already succeeded are not repeated.

Do we need NetSuite SuiteScript or a bundle?

No. The connector uses NetSuite's SOAP and REST web services. No code is deployed into your NetSuite account.

Can we customize the field mapping?

Yes. The template above is a starting point. Every field, including custom fields on both sides, is mappable in the flow editor.

Connectors on this page

Salesforce

CRM

Operations
1,296
Typed outputs
57.9%
Change triggers
95 (poll)
Authentication
OAuth2

NetSuite

Applications

Operations
271
Typed outputs
0%
Change triggers
1 (poll)
Authentication
ConnectionString

NetSuite does not publish typed output schemas yet, so the field mapping on this page is configured in the flow rather than pre-verified.

See it on your data

Bring one real integration

We will build it with you against your own systems, with the run log open.