Shopify ↔ NetSuite. one source of truth.
We connect Shopify and Shopify Plus to NetSuite with an event-driven pipeline: webhooks in, idempotent writes out, every record reconciled. Orders land as Sales Orders in seconds, inventory pushes back on a schedule you control, and Shopify Payments payouts reconcile against the GL without a spreadsheet.
Design targets we build and monitor against — not averaged client results.
The gap between your storefront and your ledger is where margin dies.
Your finance team shouldn't be re-keying Shopify orders into NetSuite at 11pm on the last day of the month.
What moves, and which way.
Every flow below is scoped in the mapping workshop — you switch on the ones you need and leave the rest. Direction is a decision, not a default.
| Record | Direction | Trigger | Latency | How we handle it |
|---|---|---|---|---|
| Orders | Shopify → NetSuite | orders/create + orders/updated webhook | Near real-time | Creates a NetSuite Sales Order with line items, discounts, shipping, tax and payment method. Keyed on the Shopify order ID so a replayed webhook never duplicates. |
| Customers | Shopify ↔ NetSuite | Order event or customer create/update | Near real-time | Dedupes against NetSuite customers on email, then company for B2B. Shopify B2B companies map to parent/child customer hierarchies. |
| Items & pricing | NetSuite → Shopify | Saved search / scheduled delta | Hourly or nightly | NetSuite item master drives Shopify products. Matrix items become variants; price levels map to Shopify markets and B2B catalogs. |
| Inventory | NetSuite → Shopify | Scheduled delta by location | 5–15 min (configurable) | Available-to-promise per NetSuite location pushed to the matching Shopify location, with safety-stock buffers and back-order rules. |
| Fulfillments & tracking | NetSuite → Shopify | Item Fulfillment created in NetSuite | Near real-time | Writes the Shopify fulfillment with carrier and tracking number, triggering the customer shipping notification. Partial and multi-location splits supported. |
| Refunds & returns | Shopify ↔ NetSuite | Shopify refund, or RMA in NetSuite | Near real-time | Shopify refunds create Credit Memos / Customer Refunds. NetSuite-initiated RMAs can push a Shopify refund so the customer record stays accurate. |
| Shopify Payments payouts | Shopify → NetSuite | Payout available | Daily | Payout detail (sales, refunds, chargebacks, processing fees) posted as a journal or deposit that reconciles to the exact bank amount. |
| Gift cards & store credit | Shopify ↔ NetSuite | Issue / redeem event | Near real-time | Optional. Keeps the liability account in NetSuite in step with outstanding Shopify gift card balances. |
The detail that decides it.
A sample of the mapping we agree before building. The real document covers every field on every record — and it's yours whether or not you continue with the build.
| Shopify field | NetSuite target | Rule |
|---|---|---|
| order.name (#1042) | Sales Order → custbody_shopify_order_name | Human-readable reference kept alongside the NetSuite tranid. |
| order.id | Sales Order → custbody_shopify_order_id | Idempotency key. Every write is a lookup-then-upsert on this field. |
| line_items[].sku | Item internal ID | Resolved via a cached SKU cross-reference; unmatched SKUs route to an exception queue, never a guess. |
| shipping_lines[] | Shipping cost + ship method | Rate title maps to a NetSuite shipping item so freight revenue reports correctly. |
| tax_lines[] / total_tax | SuiteTax or Avalara tax detail | Marketplace-facilitator and duty-inclusive orders are flagged so tax liability isn't double-counted. |
| discount_allocations[] | Line discount or discount item | Order-level discounts are allocated per line so COGS and margin reporting stays honest. |
| transactions[].gateway | Payment method / undeposited funds account | Drives the payout reconciliation so each gateway settles into its own clearing account. |
| customer.email + company | Customer / parent customer | Dedupe rules are yours — we agree them in the mapping workshop before a line of code ships. |
Built to be trusted.
Orders, customers, items, inventory, fulfillments and payouts flowing both ways — with NetSuite as the system of record.
Event-driven order pipeline
HMAC-verified Shopify webhooks into a durable queue, with ordered processing per order and automatic replay on failure.
Idempotent NetSuite writes
Every create is a lookup-then-upsert keyed on the Shopify ID. Replays, retries and re-syncs can never double-post.
Inventory & item master sync
NetSuite stays the source of truth for items, pricing and availability; Shopify gets clean deltas on your cadence.
Payout reconciliation
Shopify Payments payouts posted with fee, refund and chargeback detail that ties to the bank statement line.
Exception queue & runbook
Nothing fails silently. Unmapped SKUs, tax mismatches and API errors land in a reviewable queue with a documented fix.
Observability you own
Dashboards, structured logs and alerting on your infrastructure — not locked behind a vendor's console.
APIs we build on.
No screen scraping, no CSV drops on an FTP server at 3am. First-party APIs, authenticated properly, rate-limit aware.
The 20% that breaks connectors.
We scope these explicitly rather than discovering them in production. If one applies to you, say so on the call.
- Partial and split fulfillments across multiple NetSuite locations and 3PLs
- Pre-orders, back-orders and drop-ship purchase orders
- Kits, bundles and assembly items that sell as one SKU and ship as many
- Subscription platforms (Recharge, Skio, Loop) creating recurring orders
- Multi-subsidiary and multi-currency on NetSuite OneWorld
- SuiteTax vs legacy tax, Avalara, and marketplace-facilitator collected tax
- DDP / duties-paid international orders and landed cost
- Exchanges, partial refunds and restocking to the correct location
- Shopify POS and retail orders sharing the same inventory pool
- Rate limits on both sides — leaky-bucket throttling and NetSuite concurrency governance
How we ship it.
6–10 weeks typical for the core flows, including a parallel run. Nothing goes live until both systems agree on the same numbers.
Flow & mapping workshop
We sit with ops and finance, map every record and field, and write down the rules for dedupe, tax, discounts and exceptions. Output is a signed mapping doc before any build.
Sandbox build
Built against a NetSuite sandbox and a Shopify development store. Idempotency, retries and the exception queue go in first — not as a phase two.
Parallel run
Real orders flow through the pipeline while your existing process keeps running. We reconcile both, line by line, until the delta is zero.
Cutover & hypercare
Go live with monitoring, alerting and a documented runbook. Two weeks of hypercare with direct Slack access, then handover or a support retainer — your call.
Yours when we leave.
Source code, infrastructure, documentation and training. You can run, extend or replace this without calling us.
Shopify ↔ NetSuite
Fixed-scope build, quoted after the mapping workshop. Typically 6–10 weeks typical for the core flows.
Reply within 1 business day · No commitment
The fine print.
Still deciding between building and buying? Book a 30-minute call — we'll tell you which one you are, including when the answer is “keep your connector”.
How is this different from Celigo or another prebuilt connector?
Prebuilt connector suites are genuinely good when your process fits their template — they are fast to switch on and someone else maintains them. The trade is that you map within their supported schema and pay per flow or endpoint, forever. We build the flows your business actually runs, including the ones no template covers, and hand you the source code. Plenty of clients keep a connector for the standard flows and hire us for the edges.
Can you fix or extend the integration we already have?
Yes. A large share of this work is remediation: duplicate orders, drifting inventory, payouts that never tie out. We audit the existing pipeline, quantify what's broken, and either repair it or replace the failing flows without a big-bang rebuild.
Does this work with NetSuite OneWorld and multiple currencies?
Yes. Shopify markets and stores map to subsidiaries, currencies and tax registrations. The mapping workshop covers which entity owns which order and how intercompany flows are handled.
What happens when NetSuite or Shopify is down?
Events are queued, not dropped. Failed writes retry with exponential backoff, and anything that exhausts its retries lands in a dead-letter queue with an alert. When the API comes back, the backlog drains in order.
Who hosts it?
Your cloud account by default — AWS, GCP, Azure or Vercel. You hold the keys and the bill. We can host it for you under a support retainer if you'd rather not run infrastructure.
How long does a typical Shopify ↔ NetSuite build take?
Core order, customer, inventory and fulfillment flows usually run 6–10 weeks including the parallel run. Payout reconciliation, B2B, subscriptions and multi-subsidiary add scope. We scope it properly after the workshop rather than quoting a number on the first call.
Pairs well with.
Most clients wire two or three systems at once — it's cheaper than doing them one at a time, and the mapping work overlaps.
Ready to build a store that actually converts?
Book a free 30-minute strategy call and discover how we can transform your Shopify store.