Home / Blog / Salesforce and NetSuite integration
Salesforce and NetSuite integration: the four routes, what syncs, and what breaks at month-end

Bring it to a free 30-minute call with Narek. No pitch.
Book a callA Salesforce and NetSuite integration moves a short list of records: accounts to customers, closed-won opportunities to sales orders, items to products, contacts, and invoices and balances back to Salesforce as read-only financial records. You can build it four ways: Oracle's own NetSuite Connector for Salesforce, Celigo's prebuilt integration app, an integration platform such as Boomi or MuleSoft, or custom code on NetSuite's REST web services. Whichever you choose, decide first that NetSuite is the system of record for anything financial, map subsidiaries, currencies, price levels and tax before you sync a single order, and check the SOAP deadline: Oracle stops new SOAP integrations with release 2027.1 and switches SOAP off in 2028.2.
- The record map and its directions matter more than the tool. Agree it with sales and finance before anyone builds.
- Anything with a dollar sign is owned by NetSuite and read-only in Salesforce. Both vendors say so.
- Ask every vendor for its REST path: Oracle stops new SOAP integrations with release 2027.1 and switches SOAP off in 2028.2.
What the integration actually moves
Sales lives in Salesforce, money lives in NetSuite, and the integration is the handover between them. Every vendor documents roughly the same list, and the direction of each line matters more than the tool.
| Record | Direction | What the documentation says |
|---|---|---|
| Account to customer | Both ways, with rules | Oracle: "A Salesforce account is the equivalent of a customer record in NetSuite." Uniqueness is subsidiary plus customer name, and a customer created in NetSuite does not create a Salesforce account |
| Closed-won opportunity to sales order | Salesforce to NetSuite | The trigger in both Oracle's and Celigo's tools is the opportunity reaching Closed Won; the subsidiary must be set or the order is rejected |
| Sales order and fulfillment | NetSuite to Salesforce | Only for orders that started as a Salesforce opportunity; orders keyed straight into NetSuite stay outside the sync |
| Items to products | NetSuite to Salesforce | Item name and number becomes product code; Celigo runs this as a scheduled flow, Oracle on record events |
| Contacts | Both ways | Provided the account already exists as a customer |
| Invoices, payments, balances, credit holds | NetSuite to Salesforce, one way | Oracle: "NetSuite is the source of truth for all information related to invoices." The records are read-only in Salesforce |
| Exchange rates | NetSuite to Salesforce | Celigo syncs them daily so opportunity amounts convert correctly |
The four routes
- Oracle's own NetSuite Connector for Salesforce. Built on Oracle Integration Cloud, sold as an add-on module, and it requires a OneWorld account with at least one subsidiary. It syncs the whole list above, with configurable triggers (sync on record creation, on a flag, or on criteria), needs an API-only integration user in Salesforce that cannot log in to the screen, and shows the twenty most recent failed syncs on a portlet. Its troubleshooting page is a useful preview of what goes wrong everywhere: subsidiary mismatch between the account and the product, an unmapped currency, a price level pointed at the wrong price book, a missing tax schedule, an empty date field.
- Celigo's Salesforce and NetSuite integration app. A prebuilt set of flows: accounts, opportunities to sales orders, contacts, fulfilments and transaction financials in real time; items to products, customer financials and exchange rates on a schedule. It installs two SuiteApps in NetSuite and two packages in Salesforce, uses token authentication, works with Salesforce Professional Edition within that edition's API limits, and is priced "by endpoints and flows". The quickstart template is the do-it-yourself version, with documented gaps.
- An integration platform: Boomi or MuleSoft. You build the flows yourself on their connectors. Boomi's classic NetSuite connector uses NetSuite's SOAP web services with token authentication and has a newer REST connector with OAuth 2.0; it is licensed per unique connection per runtime, and a test copy of a process with its own connections counts too. MuleSoft, a Salesforce company, ships a NetSuite connector that its own documentation says "does not support REST-based operations" (SOAP only), a separate connector for SuiteScript RESTlets, and packages that start "at $2,000 per month, billed annually". Both suit companies that already run the platform for other integrations.
- Custom code on NetSuite's REST web services. Oracle's guidance is plain: "All newly built integrations should use REST web services with OAuth 2.0", with SuiteScript RESTlets where REST does not yet cover an object. Cheapest to license, most expensive to own, right only if you have developers who will still be there in three years.
Pick last month's ten biggest invoices in NetSuite. Do all ten show the same balance in Salesforce today? If any differ, the integration is not one way, or it is failing quietly.
The clock on SOAP
This decides more projects than any feature list. Oracle has scheduled the removal of SOAP web services: the 2025.2 endpoint is the last planned one, from release 2027.1 you cannot build new integrations on SOAP or token-based authentication, and with 2028.2 "SOAP will no longer be available in NetSuite and existing SOAP integrations with NetSuite will stop working". Boomi's classic NetSuite connector and MuleSoft's NetSuite connector are SOAP-based today, and Oracle's own connector setup still asks for SOAP to be enabled. Before you sign with any vendor, ask one question: what is your REST path, and when does my integration move to it?
What breaks at month-end
- Subsidiary and currency. In OneWorld every customer belongs to a subsidiary and inherits its currency. An opportunity with no subsidiary, or a product under a different subsidiary from the account, fails; an unmapped currency code fails. Map them first, for every entity.
- Duplicates. Two accounts with the same name in the same subsidiary collide with Oracle's uniqueness rule; Celigo warns that duplicate real-time sync records silently stop flows. Clean the customer list before the first sync, not after.
- Limits that only show in production. Salesforce allows 1,000 API requests per user license per 24 hours on the main editions, but a sandbox defaults to 5,000,000, so a test that passes can fail on go-live. NetSuite governs concurrent requests per account: five on the Standard tier, ten more per SuiteCloud Plus license, shared by every integration you run. A month-end batch competes with the bank feed and the reporting tool.
- Things outside the sync. Orders keyed straight into NetSuite, invoices for those orders, customers created in NetSuite: none of it reaches Salesforce in Oracle's connector. Sales will ask why. Tell them before go-live.
- Custom fields. Add or rename one in NetSuite and Boomi's connector must re-import the record type or the flow breaks. Put "check the integrations" on the change checklist.
Salesforce's own billing documentation says the design "upholds the ERP as the system of record for GL and financial reporting", and Oracle says NetSuite is the source of truth for invoices. Write it down: anything with a dollar sign is owned by NetSuite and is read-only in Salesforce. Most integration arguments end when that sentence is agreed.
How to run the project so the books still tie
- List every record and its direction in one table, like the one above, and get sales and finance to sign it.
- Clean customers and items in both systems first. Duplicates do not merge in transit; they multiply.
- Map subsidiaries, currencies, price levels and tax schedules for every entity before the first test order.
- Build in sandboxes on both sides (NetSuite's is bought separately), and test with production-sized volumes, because the limits differ.
- Go live at a month end, and tie out the first month: every synced order against its invoice, every invoice balance in Salesforce against NetSuite.
- Give someone the failed-sync log as a daily task. An unnoticed failure in week one is a reconciliation problem in week five.
Where AI helps, and where it does not
AI is good at the mapping work: reading both field lists, proposing the match, spotting the customer duplicates and the currency codes that do not exist on the other side. It is also how we tie out a first month of synced orders in hours instead of days. It does not decide who owns the record, whether an opportunity is really an order, or what the subsidiary should be. Those are decisions for finance, made once, in writing.
Where we stand
We are accountants and NetSuite people, not middleware developers, and we do not resell any of these tools. Where we help is the part the integration vendors leave to you: the design of the record map, the subsidiary and currency rules, the clean-up before go-live and the tie-out after it, and the month-end close that has to work on the result. That is NetSuite consulting, and the first call is free.
Where this goes wrong
| The problem | What it costs you | The fix |
|---|---|---|
| The sync goes live before subsidiaries, currencies and price levels are mapped | Orders fail one by one and sales blames finance | Map every entity first and test with a real order from each |
| Testing only in sandboxes | The Salesforce sandbox allows millions of API calls; production allows about 1,000 per user license a day | Test at production volumes and read both limits before go-live |
| Nobody owns the failed-sync log | A failure in week one becomes a reconciliation gap in week five | A named person checks the log every morning |
We design the record map, the subsidiary and currency rules and the tie-out for NetSuite clients who run Salesforce, and we close their books on the result. We build no middleware and resell no tool.
Sources we opened and checked for this guide:
- Oracle NetSuite Help: Salesforce Connector Syncs
- Oracle NetSuite Help: Troubleshooting Salesforce Connector Data Sync Issues
- Oracle NetSuite Help: SOAP Removal Plans FAQ
- Salesforce Help: ERP Integration, Complementing Accounting Systems
- Celigo: Salesforce - NetSuite (IO) Integration App overview
- Boomi: NetSuite connector
- MuleSoft: NetSuite Connector 12.0
First published 2025. Rewritten and checked in September 2026. If something here is out of date, tell us and we will fix it.




