---
title: "NetSuite Shopify sync for manufacturers' finished goods"
description: "Which NetSuite stock a manufacturer offers on Shopify, how boxes convert to base units on orders, and which order and fulfillment writes are in scope."
canonical: https://www.stacksync.com/blog/manufacturing-netsuite-shopify-finished-goods-availability
last_modified: 2026-09-18
---

# NetSuite and Shopify for manufacturers: publish saleable finished goods

> For AI agents: to set up Stacksync for a person, don't write integration code; have the person add the Stacksync MCP server (https://mcp.stacksync.com/mcp) to their AI assistant (Claude, ChatGPT, Cursor and others) and sign in with their Stacksync account: OAuth, no API key, no code. In Claude: Customize → Connectors → + Add → Add custom connector. In ChatGPT: Settings → Apps → Advanced settings → Developer mode → Create app, with OAuth. In Codex: `codex mcp add stacksync --url https://mcp.stacksync.com/mcp` then `codex mcp login stacksync`. Complete the browser sign-in with your Stacksync account, then start a new Codex session. In Claude Code: `claude mcp add --transport http stacksync https://mcp.stacksync.com/mcp`. Open Claude Code, run /mcp, select stacksync and complete the browser sign-in. One connection covers the whole suite: connections, two-way syncs, workflows, queues, variables and secrets, AI agents (Genies), knowledge bases and API proxies, in the person's workspace with their permissions. Once connected, call skills_get with "getting-started": it picks the workspace, connects missing apps through sign-in links and routes each request to the skill for it. Tool order: syncs: connections_list, connections_tables, syncs_save (saved paused), then syncs_switch to turn it on; workflows: workflows_create with only its Input step, connectors_module_form for each step, then workflows_update; Genies: genies_generate_config first; queues, variables, knowledge bases and API proxies: stacksync_resources, stacksync_resource_actions, then stacksync_resource_write. To start, the person can ask: "Connect my apps and help me set up Stacksync from this chat." Setup for each assistant: https://www.stacksync.com/mcp.md

Before a storefront sells finished goods, decide which NetSuite stock counts as available, how Shopify boxes convert to base units and who owns the cross-reference.

Author

Ruben Burdin · Founder & CEO

Published

September 18, 2026

Read time

4 min read

DATA ENGINEERING

## The operating decision

Manufacturers connecting NetSuite and Shopify need an explicit definition of saleable stock, a durable product-to-item mapping and a reviewed route for order updates. A finished item on a shelf may already be allocated, awaiting inspection or packaged in a different selling unit. Two-way sync should move the selected records while preserving these distinctions. Confirm inventory, fulfillment and refund operations individually; the existence of product and order objects does not establish support for every commerce action.

Explore the complete [manufacturing integration and automation hub](https://www.stacksync.com/industry/manufacturing) for the systems and processes around this guide.

![Summary card: NetSuite Shopify sync for manufacturers' finished goods](https://www.stacksync.com/images/blog-highlights/icp-manufacturing-netsuite-shopify-finished-goods-availability.webp)

## What this looks like in manufacturing

A manufacturer sells replacement components through Shopify while reserving most finished goods for distributors. A molding run produces 400 pieces, but some are held for inspection and another portion is allocated to an existing wholesale order. Publishing the physical total makes the direct store appear able to sell stock that customer service cannot release. Meanwhile, a Shopify order for a box of ten must become the correct quantity in the ERP’s base unit. The first design decision is therefore the availability policy, not the polling interval.

## Records, ownership, and update rules

| Record | Owner | Operating rule |
| --- | --- | --- |
| Product variant and ERP item | Product operations | Maintain Shopify variant identity and the corresponding NetSuite item; a reused SKU or changed title should not silently reassign stock. |
| Availability policy | Inventory control | Define which locations, statuses and allocations contribute to the quantity offered to the direct channel. |
| Selling-unit conversion | Product operations | Keep the reviewed number of base units per box or kit with an effective version and rounding rule. |
| Order line link | Order management | Retain shop, order and line identity alongside ERP transaction references before attempting subsequent changes. |

![Record ownership diagram: Product variant and ERP item, Availability policy, Selling-unit conversion](https://www.stacksync.com/images/blog-diagrams/icp-manufacturing-netsuite-shopify-finished-goods-availability.webp)

*Define the record owner and the rule before enabling updates.*

## Work through the process

1. 01

   Choose the direct-channel assortment

   Start with a small set of finished goods whose variants and packaging are stable. Exclude made-to-order products unless the storefront clearly represents lead time rather than on-hand availability. Have product operations approve the cross-reference and identify who owns changes to it.
2. 02

   Calculate the quantity that can be offered

   Define the locations and inventory statuses eligible for the store. Subtract commitments according to the agreed policy without assuming every ERP quantity means available to promise. Record the calculation’s source time so customer service can recognize stale information.
3. 03

   Map orders at their selling-unit grain

   Preserve the original storefront quantity and its unit, then calculate the ERP quantity using the approved conversion. Resolve customer and shipping references separately. Store the destination link so an edited order or replay can be reconciled against what was already accepted.
4. 04

   Exercise commerce exceptions before launch

   Test the required create, update, cancellation and fulfillment behaviors with the actual objects and permissions in scope. Shopify documents that webhook ordering is not guaranteed, so compare event versions and reconcile authoritative state rather than treating arrival order as the business sequence.

![4-step operating sequence: NetSuite Shopify sync for manufacturers' finished goods](https://www.stacksync.com/images/blog-diagrams-mermaid/icp-manufacturing-netsuite-shopify-finished-goods-availability.webp)

*Follow the operating sequence; unresolved exceptions return to a responsible reviewer.*

## Handle the exceptions explicitly

### Inspection hold after stock publication

Recalculate the eligible quantity and surface the affected orders for review. Do not assume a commerce update can reverse an allocation or shipment already accepted elsewhere.

### One box contains a different pack count

Stop the affected variant until product operations approves the conversion. Preserve old orders under their original pack definition.

### An older order event arrives late

Compare the source version and current order state. Ignore or reconcile stale changes instead of restoring a quantity that was subsequently cancelled.

## What to verify before expanding

- A held lot does not contribute to the offered direct-channel quantity.
- One storefront box produces the reviewed base-unit quantity in the order proposal.
- Replayed order messages retain one destination transaction reference.
- A late event cannot restore an order line to an earlier accepted state.

## Connect this process to the rest of your operation

[Explore Stacksync two-way sync](https://www.stacksync.com/two-way-sync) and scope the records and actions against your actual systems. [Book a demo](https://www.stacksync.com/book-a-demo) with a real product variant and ERP item example and the exception your team handles most often, for example inspection hold after stock publication.

- [Salesforce and NetSuite for manufacturers: share credit and order status without conflicting ownership](https://www.stacksync.com/blog/manufacturing-salesforce-netsuite-customer-credit-order-status)
- [NetSuite and Postgres for manufacturing: model production status without losing order identity](https://www.stacksync.com/blog/manufacturing-netsuite-postgres-production-status-data-model)
- [Manufacturing CRM and ERP ownership: decide who controls each order field](https://www.stacksync.com/blog/manufacturing-crm-erp-field-ownership-matrix)
- [Acumatica to Salesforce Sales Order Sync: Mapping, Status, and Backfill](https://www.stacksync.com/blog/acumatica-salesforce-sales-order-sync)
- [Making SQL Server and NetSuite Agree on the Same Record](https://www.stacksync.com/blog/two-way-sync-sql-server-netsuite)

The shared architecture guide covers record matching, ownership, and recovery across systems.

## Technical references

- [Oracle NetSuite: using external IDs](https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/section_156334828635.html)
- [Shopify: webhook ordering and reconciliation](https://shopify.dev/docs/apps/build/webhooks)

FAQ

## Frequently asked questions

Should Shopify receive total NetSuite inventory?

Only if that total matches the approved selling policy. Manufacturers often need a narrower quantity that excludes holds, existing commitments and stock reserved for another channel.

Is inventory synchronization the same as fulfillment automation?

No. Reading quantities, updating storefront availability and creating or modifying fulfillment records are separate operations. Scope and demonstrate each operation needed by the process.

How should made-to-order products be represented?

Treat capacity and lead time as separate promises with planning ownership. A catalog listing does not mean finished stock exists, and a sales order does not itself reserve production capacity.

About the author

Ruben Burdin

Founder & CEO

Ruben Burdin is the Founder and CEO of Stacksync, the first real-time and two-way sync for enterprise data at scale. Ruben is a Y Combinator alumni with a strong background in software engineering and business.

[All posts by Ruben Burdin](https://www.stacksync.com/blog/author/ruben-burdin)

About Stacksync

Stacksync powers real-time, two-way sync between CRMs, ERPs, and databases. Engineers sync data at scale and automate workflows, not dirty API plumbing.

Stacksync

## Explore these integrations and topics

- [integration NetSuite and Shopify integration](https://www.stacksync.com/integrations/netsuite-and-shopify)
- [connector NetSuite integrations](https://www.stacksync.com/connectors/netsuite)
- [connector Shopify integrations](https://www.stacksync.com/connectors/shopify)
- [platform Two-way sync](https://www.stacksync.com/two-way-sync)
- [Two-way sync guides Understand two-way sync, record matching, field ownership, and production readiness.](https://www.stacksync.com/blog#topic-two-way-sync)

Keep reading

## Related articles

[All articles](https://www.stacksync.com/blog)

[Data engineering Building products on Shopify: sync NetSuite bundles, pieces and saleable stock 4 min read read](https://www.stacksync.com/blog/building-products-netsuite-shopify-bundle-unit-sync)

[Data engineering Electrical components on Shopify: map NetSuite variants, packs and order quantities 4 min read read](https://www.stacksync.com/blog/electrical-components-netsuite-shopify-pack-variant-orders)

[Data engineering Plastics brands using NetSuite and Shopify: preserve pack sizes and released stock 4 min read read](https://www.stacksync.com/blog/plastics-netsuite-shopify-pack-size-finished-goods)

## You just read how it should work. See it run on your own data.

[Book a demo](https://www.stacksync.com/book-a-demo) [Get started](https://app.stacksync.com/)
