# Shopify & NetSuite

## Introduction

The Patchworks *Shopify and NetSuite B2B* blueprint enables the synchronisation of [customer](#customer-and-company-data), [order](#orders-payments-and-refunds),   [product](#products-catalogs-and-pricing), and [inventory](#inventory-and-fulfilment) data between the two systems. It can be used for different setups, including B2B and D2C. Data syncing is summarised below:

<table><thead><tr><th width="220.7421875">Flow Type</th><th width="117.046875">Sync direction</th><th>Purpose</th></tr></thead><tbody><tr><td>Contacts &#x26; locations</td><td><strong>↔</strong></td><td>Keep company and contact records aligned.</td></tr><tr><td>Orders &#x26; payments</td><td><strong>→</strong></td><td>Push new orders, payments, and invoices into NetSuite</td></tr><tr><td>Products &#x26; pricing</td><td><strong>↔</strong></td><td>Sync catalogue, SKUs, and price lists.</td></tr><tr><td>Inventory</td><td><strong>↔</strong></td><td>Maintain accurate stock across all locations.</td></tr><tr><td>Fulfilments &#x26; refunds</td><td><strong>↔</strong></td><td>Update fulfilment status and credit memos.</td></tr></tbody></table>

### Customer & company data

* Two-way synchronisation of companies, locations, and contacts.
* Detects new or updated records using SuiteQL and GraphQL queries.
* Ensures address books, payment terms, and contact details stay aligned across both systems.

### Orders, payments & refunds

* Creates sales orders and payments in NetSuite when orders are placed in Shopify.
* Handles both paid and pending orders with intelligent branching logic.
* Synchronises refunds and RMAs back into NetSuite with full credit-memo creation.
* Supports partial fulfillments and multi-location order handling.

### Products, catalogs & pricing

* Keeps your product catalogue and pricing consistent across platforms.
* Creates and updates parent/child matrix items in NetSuite, directly from Shopify.
* Manages multiple price lists and catalog assignments.
* Daily or on-demand pricing updates are supported out of the box.

### Inventory & fulfilment

* Synchronises stock levels between NetSuite and Shopify.
* Creates and updates fulfillment records and tracking numbers.
* Manage fulfillment locations in both directions to ensure accurate order routing.

{% hint style="info" %}
For detailed information, please refer to the [Available process flows](https://doc.wearepatchworks.com/product-documentation/blueprints/patchworks-blueprints/shopify-and-netsuite/available-process-flows-shopify-and-netsuite) section
{% endhint %}

## How it Works&#x20;

Each flow is powered by the Patchworks API-first integration platform, where:

* SuiteQL queries drive data extraction from NetSuite.
* The Shopify GraphQL API drives data extraction from Shopify. &#x20;
* Patchworks custom scripts handle data comparisons, mapping, deduplication, and transformation.
* Fully customisable cross-reference lookups enable automatic data conversions for your specific business rules.

Out of the box, the Patchworks *Shopify and NetSuite* blueprint includes:

* 13 ready-made integration flows covering the complete order-to-cash and fulfilment cycle.
* Reusable scripts for data grouping, matrix item handling, contact injection, and refund detection.
* Configurable flow variables (date filters, subsidiaries, price levels, etc.) to tailor behaviour.
* Built-in handling for Shopify Plus GraphQL nuances and NetSuite SuiteQL constraints.

## Key benefits

* **Faster time-to-value.** Pre-configured, tested flows deploy in days, not months.
* **Fully customisable.** Extend or modify mappings and filters to suit your business logic.
* **Low maintenance.** Built on the Patchworks platform with built-in retries, error handling, and monitoring.

## Available process flows

For detailed information, please refer to the [Available process flows section](https://doc.wearepatchworks.com/product-documentation/blueprints/patchworks-blueprints/shopify-and-netsuite/available-process-flows-shopify-and-netsuite).

## Assumptions

* **NetSuite knowledge**. This blueprint provides base functionality/logic to sync data between Shopify & NetSuite. However, NetSuite is highly customisable - as such, it's important to review flow configuration in the context of your own NetSuite setup. Guidelines are provided in the [Available process flows](https://doc.wearepatchworks.com/product-documentation/blueprints/patchworks-blueprints/shopify-and-netsuite/available-process-flows-shopify-and-netsuite) section of this documentation.
* **Patchworks knowledge.** Process flows included with this blueprint include advanced functionality such as custom scripting, SuiteQL/GraphQL queries, and mapping transform functions. It is assumed that you have a good working knowledge of these features.

## Installation

For installation instructions, please refer to our [Installation guide](https://doc.wearepatchworks.com/product-documentation/blueprints/patchworks-blueprints/shopify-and-netsuite/installation-guide-shopify-and-netsuite).
