Key takeaways
- A typical pattern sends won opportunities or orders from Salesforce to NetSuite and syncs invoices, payments and order status back.
- Options include pre-built integration apps, iPaaS platforms and custom integrations using NetSuite’s web services.
- Agree which system owns customers, items, prices and orders before building anything.
- Plan for error handling and reconciliation from day one.
Oracle NetSuite is a popular cloud ERP for growing companies, and Salesforce is the CRM many of those companies sell with. Connecting them closes the gap between the sales team and finance, so orders flow without re-keying and account managers see what customers owe.
Typical data flows
| Data | Usual direction | Notes |
|---|---|---|
| Customers | Salesforce to NetSuite on first order, then two-way for key fields | Store the NetSuite internal ID on the Salesforce account |
| Items and prices | NetSuite to Salesforce | NetSuite usually owns the product catalog and price levels |
| Opportunities or quotes to sales orders | Salesforce to NetSuite | Triggered at closed-won or quote acceptance |
| Order status and fulfilment | NetSuite to Salesforce | Shipment and tracking for account teams |
| Invoices and payments | NetSuite to Salesforce | Open balance and overdue invoices on the account |
Integration options
- Pre-built integration apps. Vendors offer ready-made Salesforce–NetSuite flows on integration platforms, which cover common quote-to-cash scenarios quickly.
- iPaaS platforms. General integration platforms provide NetSuite and Salesforce connectors, mapping tools and monitoring for more customized flows.
- Custom integration. NetSuite exposes SuiteTalk web services (SOAP and REST) and RESTlets written in SuiteScript, while Salesforce provides REST, Bulk and event APIs, enabling fully tailored integrations.
Design decisions that matter
- System of record: decide, field by field, which system owns customers, addresses, items, prices, orders and invoices.
- Trigger point: what exactly creates a NetSuite sales order, and what happens if the opportunity changes afterwards?
- Matching: how existing customers are matched to avoid duplicates during the initial sync.
- Subsidiaries and currencies: NetSuite OneWorld setups need subsidiary and currency mapping.
- Errors: where failed records go, who is alerted and how they are retried.
Common pitfalls
| Pitfall | How to avoid it |
|---|---|
| Duplicate customers | Clean and match before the first sync; use IDs, not names |
| Price mismatches on orders | Sync prices from NetSuite and validate before order creation |
| Silent failures | Central logging and alerts for every failed record |
| Two-way sync loops | Clear ownership and change detection to avoid endless updates |
| Governance limits | Batch calls and respect NetSuite concurrency and Salesforce API limits |
Rollout approach
- Map processes and fields with sales, finance and operations together.
- Clean customer and item data in both systems.
- Build and test in a Salesforce sandbox against a NetSuite sandbox account.
- Run the initial matching and load, then switch on ongoing sync.
- Monitor closely for the first weeks and reconcile totals.
Our system integration team builds CRM and ERP integrations with clear ownership rules, logging and reconciliation.
A worked example: closed-won to invoice
A sales rep closes an opportunity in Salesforce with three products. The integration checks that the account is linked to a NetSuite customer, creating one if needed with the correct subsidiary and currency, then creates a sales order in NetSuite with the same items, quantities and prices. The NetSuite order number is written back to the opportunity. As the order is fulfilled and invoiced, status, tracking numbers, invoice numbers and open balance update on the Salesforce account, and the rep is alerted if an invoice becomes overdue.
Testing checklist
- New customer and existing customer orders.
- Orders with discounts, taxes, multiple currencies or subsidiaries.
- Changes or cancellations after the order is sent.
- Partial fulfilment and partial payments.
- Failure cases: missing item, inactive customer, API errors, and how they are reported.
Monitoring after go-live
Review integration logs daily for the first weeks, reconcile order counts and totals between the systems weekly, and assign a named owner for failed records. Most integration problems are discovered by finance at month-end unless someone is watching the logs.
Frequently asked questions
Should quotes be built in Salesforce or NetSuite?
Most sales teams prefer quoting in Salesforce with NetSuite-synced prices; complex pricing or configuration may favor NetSuite or a CPQ tool. Decide based on who quotes and how complex pricing is.
Can sales see invoices in Salesforce?
Yes. Syncing invoices and payments from NetSuite gives account teams open balances and overdue invoices on the account.
Is a pre-built connector enough?
For standard quote-to-cash flows, often yes. Custom objects, unusual pricing or multi-subsidiary setups may need customization or a custom integration.



