Integration Overview
Understanding NetSuite's integration options and choosing the right approach for your business requirements.
Integration Methods Comparison
| Method | Best For | Limits | Complexity |
|---|---|---|---|
| REST API (SuiteTalk) | Modern apps, mobile, lightweight | 10 concurrent, rate limited | Medium |
| SOAP Web Services | Legacy systems, bulk operations | 10 concurrent, governance | High |
| RESTlet (SuiteScript) | Custom endpoints, complex logic | Script governance units | High |
| CSV Import | Bulk data, simple transforms | 25K rows standard | Low |
| SuiteApp (Connector) | Pre-built integrations | Vendor-specific | Low-Medium |
| SuiteAnalytics Connect | BI tools, reporting only | Read-only, nightly sync | Low |
Integration Architecture Patterns
Integration Decision Framework
| Requirement | Recommended Approach |
|---|---|
| Real-time sync (< 1 minute) | RESTlet with webhooks, or REST API polling |
| Near real-time (1-15 minutes) | Scheduled script polling, or middleware |
| Batch/bulk (daily) | CSV import, SOAP async, or scheduled sync |
| High volume (>10K records/hour) | SOAP with async operations, or middleware queue |
| Complex transformation | Middleware (Celigo, Boomi) or custom RESTlet |
| Pre-built connector exists | Use SuiteApp connector first, customize if needed |
REST API Patterns
Modern integration using NetSuite's REST API (SuiteTalk REST).
Authentication Setup
OAuth 2.0 (Recommended)
Token-Based Authentication (TBA)
REST API Examples
Get Customer
Create Sales Order
Search with SuiteQL
Rate Limits and Best Practices
| Limit | Value | Mitigation |
|---|---|---|
| Concurrent Requests | 10 per account | Queue requests, use async |
| Requests per Minute | ~100-200 (varies) | Implement exponential backoff |
| Payload Size | 10 MB | Batch into smaller requests |
| SuiteQL Results | 1000 per page | Use pagination (offset/limit) |
SOAP Web Services
Using NetSuite's SOAP-based SuiteTalk for robust enterprise integrations.
SOAP vs REST Decision
| Use SOAP When | Use REST When |
|---|---|
| Bulk operations (add/update list) | Single record CRUD |
| Async processing required | Real-time response needed |
| Legacy system compatibility | Modern web/mobile apps |
| Strict schema validation | Flexible JSON handling |
| Java/.NET enterprise stack | JavaScript/Python/modern stack |
SOAP Endpoint Configuration
SOAP Operation Examples
Add Customer (Single)
Add List (Bulk)
DUP_ENTITY
Search with Pagination
Shopify Integration
Connecting Shopify eCommerce with NetSuite for unified order, inventory, and customer management.
Integration Architecture
Order Sync Configuration
| Shopify Field | NetSuite Field | Notes |
|---|---|---|
| order.id | custbody_shopify_order_id | Custom field for deduplication |
| order.name (#1001) | otherrefnum | PO/Reference number field |
| customer.email | Customer lookup/create | Match on email, create if new |
| line_items.sku | Item lookup | Match on item name/UPC |
| shipping_address | shipaddress (or address sublist) | Validate address format |
| discount_codes | Discount item or rate adjust | Depends on accounting treatment |
| fulfillment_status | Triggers item fulfillment | Bidirectional sync common |
Common Integration Challenges
Shopify and NetSuite inventory can drift during high-volume sales. Solution: Implement inventory reservations on order create, or use real-time webhooks with queue-based processing to handle race conditions.
Challenge: SKU/Item Matching
Challenge: Customer Deduplication
Salesforce Integration
Connecting Salesforce CRM with NetSuite ERP for end-to-end quote-to-cash automation.
Integration Scenarios
| Scenario | Direction | Trigger |
|---|---|---|
| Account/Customer Sync | Bidirectional | Create/Update in either system |
| Contact Sync | Bidirectional | Create/Update in either system |
| Opportunity → Sales Order | SF → NS | Opportunity Closed-Won |
| Quote → Estimate | SF → NS | Quote approval or sync request |
| Invoice → SF | NS → SF | Invoice creation |
| Payment Status | NS → SF | Payment received |
| Product/Item Sync | NS → SF | Product master in NetSuite |
Data Flow Architecture
Field Mapping: Account to Customer
| Salesforce Field | NetSuite Field | Notes |
|---|---|---|
| Account.Id | externalId or custentity_sf_id | Primary key for sync |
| Account.Name | companyName | Required |
| Account.Phone | phone | |
| Account.Website | url | |
| Account.BillingAddress | defaultBillingAddress | Address object mapping |
| Account.ShippingAddress | defaultShippingAddress | Address object mapping |
| Account.Industry | category or custom field | Picklist mapping required |
| Account.OwnerId | salesRep | User mapping table |
Integration Patterns
Pattern: Closed-Won → Sales Order
Before building custom integration, evaluate NetSuite's native Salesforce Connector SuiteApp. It handles common scenarios out of the box with configuration, not code. Custom integration recommended only for complex requirements.
Amazon & Marketplace Integration
Connecting Amazon, eBay, Walmart, and other marketplaces with NetSuite.
Marketplace Integration Overview
| Marketplace | Recommended Approach | Key Consideration |
|---|---|---|
| Amazon (Seller Central) | Celigo, FarApp, or custom via SP-API | MCF (Multi-Channel Fulfillment) |
| Amazon (Vendor Central) | EDI via SPS Commerce or similar | EDI 850/855/856 compliance |
| eBay | Celigo, ChannelAdvisor | Listing management |
| Walmart | EDI required, SPS Commerce | Strict compliance requirements |
| Multi-marketplace | ChannelAdvisor, Feedonomics | Centralized listing/inventory |
Amazon Seller Central Flow
Multi-Channel Inventory Strategy
EDI Integration
Electronic Data Interchange for B2B trading partner automation.
Common EDI Documents
| EDI # | Document | NetSuite Equivalent | Direction |
|---|---|---|---|
| 850 | Purchase Order | Sales Order | Inbound |
| 855 | PO Acknowledgment | SO Confirmation | Outbound |
| 856 | Advance Ship Notice (ASN) | Item Fulfillment | Outbound |
| 810 | Invoice | Invoice | Outbound |
| 820 | Payment Order/Remittance | Customer Payment | Inbound |
| 846 | Inventory Inquiry | Inventory report | Outbound |
| 860 | PO Change | SO Update | Inbound |
EDI Architecture
EDI Implementation Checklist
Middleware Platforms
Integration Platform as a Service (iPaaS) solutions for NetSuite.
Platform Comparison
| Platform | Best For | NetSuite Connector | Pricing Model |
|---|---|---|---|
| Celigo integrator.io | NetSuite-centric orgs | Native, excellent | Per flow/connection |
| Dell Boomi | Enterprise, complex | Good, requires config | Enterprise licensing |
| Workato | Business user friendly | Good | Per recipe/connection |
| MuleSoft | Large enterprise, API-led | Connector available | Enterprise licensing |
| Zapier | Simple, low volume | Basic | Per task |
| Make (Integromat) | Mid-market, visual | Basic | Per operation |
Celigo integrator.io Overview
Middleware Selection Criteria
Integration Best Practices
Design patterns and operational guidelines for robust NetSuite integrations.
Design Principles
External ID Strategy
Error Handling Patterns
| Error Type | Handling Strategy | Example |
|---|---|---|
| Transient (5xx, timeout) | Retry with backoff | Network error, NS maintenance |
| Rate Limit (429) | Queue, retry after delay | Too many requests |
| Validation (400) | Log, alert, manual review | Missing required field |
| Not Found (404) | Create or flag for review | Referenced record missing |
| Auth (401/403) | Refresh token, alert if persists | Expired credentials |
| Duplicate | Lookup existing, update | Record already exists |