Key takeaways
- Start with a connector or iPaaS template if one covers your records; build custom when your process, volume or data model falls outside it.
- Build new integrations on SuiteTalk REST web services or RESTlets with OAuth 2.0. Oracle plans to remove SOAP web services and end token-based authentication support in NetSuite 2028.2.
- All web services and RESTlet calls share one account concurrency limit, set by service tier plus 10 per SuiteCloud Plus license. Design for queues and retries from day one.
- Decide which system owns each record and field before you map anything. Most sync bugs are ownership bugs.
- A typical custom integration between NetSuite and one other system takes about 390 to 780 hours, or roughly $14k to $63k at Eastern European rates.
NetSuite integration means connecting NetSuite to your store, CRM, payment, warehouse or EDI systems through one of four routes: Oracle’s own connectors, a SuiteApp from the marketplace, an iPaaS such as Celigo, Boomi or Workato, or custom code on SuiteTalk REST web services and RESTlets. Choose the cheapest route that covers your records, volume and business rules, and build custom only for the flows that fall outside it.
We are integration engineers. We build two-way syncs between business systems and the ERPs behind them, so this guide follows how an engineer scopes a NetSuite integration: which API to use, what the limits are, where syncs break and what a build costs. Prices are list prices as of November 2026, taken from vendors’ own pages. Where a vendor publishes no price, we say “quote-based”.
What syncs, and in which direction
Most NetSuite integrations move the same handful of records. Orders and new customers flow into NetSuite. Items, prices, stock levels, fulfillments and invoice status flow out. Money flows such as refunds, payouts and fees are the hardest part, because they have to land in the ledger exactly.
Before you pick a tool, write this map for your own business: each record, its direction, how often it moves and which system owns it. That one page decides more about cost than the choice between a connector and custom code.
The integration methods NetSuite offers
NetSuite exposes several technical entry points. Connectors and iPaaS products use the same ones under the hood, so it helps to know what they are.
SuiteTalk REST web services. The current standard API. It covers standard and custom records, supports SuiteQL queries over a REST endpoint and authenticates with OAuth 2.0. For most new integrations this is the default choice.
SuiteTalk SOAP web services. The older API, still behind many existing connectors. Oracle’s SOAP removal FAQ says that from 2027.2 only the latest SOAP endpoint is supported and that with NetSuite 2028.2 all endpoints are disabled. Do not start new work on SOAP, and ask any vendor you evaluate whether their connector still depends on it.
RESTlets. SuiteScript endpoints you write and deploy inside NetSuite. Use them when one external call should do several things at once, such as create a sales order, apply custom pricing logic and return the result, or when the REST API does not expose a record the way you need.
SuiteScript, including user event scripts. Server-side JavaScript that runs inside NetSuite. A user event script can fire when a record is created or edited and push a change out, which gives you near real-time outbound events. Scheduled and map/reduce scripts handle batch work.
Saved searches and SuiteQL. The usual way to read data in bulk: “all items changed since the last run” or “all invoices paid today”. SuiteQL is SQL-like and works well for incremental reads.
CSV import. The built-in Import Assistant. Fine for one-off migrations and low-volume periodic loads, but it is not an integration: there are no retries, no ID mapping and no alerts unless a person checks.
Authentication. Oracle’s documentation says that from NetSuite 2027.1 no new integrations can use token-based authentication (TBA) for SOAP, REST web services or RESTlets, and that support for existing TBA integrations ends in 2028.2, a date it marks as tentative. Use OAuth 2.0 for everything new, with the client credentials flow for server-to-server jobs. Oracle also notes that third-party connectors relying on TBA may need a configuration change or update.
Governance. NetSuite limits concurrency per account. Oracle’s governance tables list a base of 5 concurrent requests for the Standard tier, 15 for Premium and 20 for Enterprise and Ultimate, plus 10 for each SuiteCloud Plus license. Web services and RESTlet requests share that pool, so your Shopify connector, your CRM sync and your 3PL feed all compete for the same slots. SuiteScript adds usage-unit limits per execution: 1,000 units for a user event script, 5,000 for a RESTlet and 10,000 for a scheduled script.
Your options
| Option | Best for | What it covers | Pricing as published | Limits |
|---|---|---|---|---|
| Oracle NetSuite Connector (formerly FarApp) | Storefronts and marketplaces such as Shopify | Orders, items, prices, inventory, fulfillments; extras by plan | Shopify listing from $199.92/month; other channels quote-based | Fixed data model; unusual flows need workarounds |
| SuiteApp marketplace apps | One specific system with a ready-made app | Whatever that app’s vendor built | Varies, often quote-based | Quality and support vary by vendor |
| Celigo (integration apps and platform) | Several standard flows, an admin who owns them | Prebuilt NetSuite apps for Shopify, Salesforce and others | Quote-based; 30-day trial | Annual contract; complex logic still needs scripting |
| Boomi | Teams that want a general integration platform | Connectors, mapping, scheduling | Pay-As-You-Go $99/month plus usage; editions quote-based | Per-message usage cost at high volume |
| Workato | Business-led automation across many apps | Recipes and connectors, NetSuite included | Quote-based | Usage-based billing; deep NetSuite logic gets complex |
| Custom (REST web services, RESTlets, SuiteScript) | Unusual rules, high volume, flows no product covers | Exactly what you specify | Development hours (see below) | You own maintenance and monitoring |
Boomi’s help center lists Pay-As-You-Go usage at $0.05 per message on top of the $99 base. Celigo and Workato publish plans without prices and ask buyers to contact sales.
The practical rule: if a connector covers 80% of your flows and your team can live with its data model, buy it and add a small custom piece for the rest. If the core flow itself is unusual, for example orders that must be split across subsidiaries, configured products or custom revenue rules, a connector will cost you more in workarounds than a build. For storefront-specific comparisons see our guides to Shopify NetSuite integration and NetSuite ecommerce integration; for CRM, see HubSpot NetSuite integration.
Where these integrations break
1. Nobody decided who owns the record. If a customer’s address can be edited in both the store and NetSuite, a two-way sync will overwrite one with the other. Fix: name a system of record per field, not per object. Addresses might belong to the store, credit terms to NetSuite.
2. Duplicate customers and items. Matching on email or name creates duplicates the first time someone types a different spelling. Fix: store external IDs on both sides (NetSuite has an external ID field for this) and keep a cross-reference table in the integration.
3. Concurrency errors at peak. A busy sale day plus a nightly batch can exceed the account limit, and NetSuite rejects the extra requests. Fix: put a queue in front of NetSuite, throttle to fewer requests than your limit, and retry with backoff.
4. Silent partial failures. An order fails on a missing tax code or an inactive item, and nobody notices for a week. Fix: an error queue that a person can see, with the reason and a resend button, plus alerts when the queue grows.
5. Totals that do not match. Discounts, shipping, rounding and tax calculated differently in each system leave a few cents or dollars of difference per order. Fix: decide which system calculates tax, push the source totals as-is, and post differences to a defined adjustment line.
6. Money flows left for later. Orders sync, but refunds, chargebacks and payouts are entered by hand. Finance then reconciles deposits manually every week. Fix: scope refunds and payouts from the start. Our Stripe NetSuite integration guide covers payouts and fees in detail.
7. No reconciliation. Even a good sync drifts. Fix: a daily report that compares counts and totals for orders, invoices and payments on both sides, and flags differences before month-end close.
These are the same principles we describe in our guide to two-way QuickBooks sync design. The ERP changes; the failure points do not.
What a custom integration costs
Pick the flows you need between NetSuite and one other system; hours include design, QA and project management, and the typical scope is preselected.
The preselected scope, covering customers, items and inventory, orders, fulfillments and invoice status with retries, alerts and reconciliation, comes to about 390 to 780 hours. 2026 outsourcing rate surveys put Eastern Europe at about $35 to $80 per hour and North America at $80 to $180 or more; at Eastern European rates that scope is about $14,000 to $63,000, and at US onshore rates of $80 to $160 it is about $31,000 to $125,000. Refunds, custom SuiteScript and historical backfill add to it.
Two costs sit outside these hours. First, subscriptions: if you combine custom code with a connector or iPaaS, its license is separate. Second, upkeep: APIs change, and the TBA and SOAP deadlines above are a good example of work that arrives on Oracle’s schedule. For broader budgeting see ERP implementation cost and custom software development cost.
How to run the project
- Map records and owners. List every record and field, the direction, frequency and system of record. Export a sample of real orders, including the ugly ones.
- Pick the method per flow. A connector for standard order and inventory sync, custom code for the one flow with special rules is a common and sensible split.
- Set up access properly. Create an integration record with OAuth 2.0 and a dedicated role with only the permissions the integration needs. Check your concurrency limit on the Integration Governance page.
- Build in a sandbox with real data. Test edge cases first: partial refunds, split shipments, multi-currency orders, inactive items.
- Run in parallel. Let the integration run beside the current process for a period and compare totals daily.
- Cut over and monitor. Turn on alerts, assign an owner for the error queue and keep the reconciliation report running.
If NetSuite also exchanges data with warehouses or trading partners, plan those as separate flows with their own owners. Our guides to NetSuite 3PL integration and NetSuite EDI integration cover them. If you are still choosing an ERP, compare options in best ERP for ecommerce and best ERP for wholesale distribution.
From related work
We have not published a NetSuite case. The patterns in this guide come from two-way syncs we built for QuickBooks, Amazon and other systems.
For a manufacturing and shipping business, we build and support One Motion ERP, whose two-way QuickBooks sync handles invoice sync, vendor mapping, tax logic, duplicates and automatic remapping of item IDs, running as background jobs. Those are the record ownership, ID mapping and reconciliation problems from the list above. Our custom ERP system for an inventory and order-driven business syncs purchase orders and vendor data with QuickBooks through its API and keeps each customer’s QuickBooks ID on the customer profile.
On the order side, the Aspect platform pulls orders from 7 Amazon marketplaces through SP-API, with order and stock sync every 15 minutes. For ProdUp, we made bulk WooCommerce imports run as parallel tasks with retries and stored results, plus a dashboard for duplicate SKUs. And the SaaS ETL platform we built schedules recurring transfers, logs each run and counts failed records separately, the same monitoring an ERP integration needs.
Where OSKI fits
OSKI is a .NET and React engineering company with a team mostly in Ukraine. We build integrations and ERP systems, and we are comfortable working next to a connector rather than replacing it. Send your record map or the estimator selection, and an engineer will reply with a written estimate and the assumptions behind it.
- Store or CRM → Orders become sales orders, deals become orders NetSuite
- NetSuite → Items, prices and available quantity Store or CRM
- Store or CRM ⇄ Customers and contacts: matching and duplicates NetSuite
- NetSuite → Fulfillments, tracking, invoice and payment status Store or CRM
- Store or payments → Refunds, credit memos, payouts and fees NetSuite
- 3PL or EDI partner ⇄ Shipments, ASNs, partner orders: often a separate project NetSuite
● Works natively● Partial or one-way● Needs custom work
Green flows are usually covered by connectors. Amber flows need decisions about ownership and matching. Gray flows are often out of a connector's scope.
- 5 / 15 / 20Base concurrent requests for Standard, Premium, Enterprise and Ultimate tiersOracle NetSuite Help
- +10Extra concurrent requests per SuiteCloud Plus licenseOracle NetSuite Help
- 1,000 unitsUsage limit per user event script executionOracle NetSuite Help
- 5,000 unitsUsage limit per RESTlet callOracle NetSuite Help
Source: Oracle NetSuite Help Center, concurrency governance and script usage unit limits, checked November 2026. Your live limit is on Setup > Integration > Integration Governance.
- 01 Map records and owners
Every record, field, direction and system of record.
- 02 Pick the method
Connector, iPaaS or custom, per flow.
- 03 Set up access
Integration record, OAuth 2.0, a least-privilege role.
- 04 Build in sandbox
Real sample data, edge cases first.
- 05 Reconcile in parallel
Run beside the manual process and compare totals.
- 06 Cut over and monitor
Alerts, error queue, daily reconciliation.
Estimate a custom NetSuite integration
Pick the flows you need between NetSuite and one other system. Hours include design, QA and project management. Change the rate band and team size to see cost and calendar time.
Sources
- Oracle NetSuite Help: Concurrency Governance Limits Based on Service Tiers and SuiteCloud Plus Licenses
- Oracle NetSuite Help: Preparing for Token-based Authentication (TBA) End of Support
- Oracle NetSuite Help: SOAP Removal Plans FAQ
- Oracle NetSuite Help: Script Type Usage Unit Limits
- Boomi: Pricing and editions
- Celigo: Pricing




