Back to Insights

How to Integrate NetSuite with Shopify Plus: A Practical Guide

, , ,

Integrating NetSuite with Shopify Plus can provide retailers, wholesalers and B2B businesses with a connected commerce environment spanning customer experience, inventory, order management, fulfilment and financial operations.

Shopify Plus can manage the digital buying experience, including storefront content, product discovery, checkout, customer accounts and B2B purchasing. NetSuite can remain responsible for the operational and financial processes behind the transaction, including inventory, customers, sales orders, fulfilment, invoicing and reporting.

Connecting the platforms, however, involves more than installing a connector and enabling a series of standard data flows.

NetSuite implementations are often highly customised. They may include multiple subsidiaries, locations, currencies, price levels, item structures, custom fields, SuiteScripts and business-specific order workflows. The integration must account for these structures while ensuring Shopify remains fast, reliable and easy for customers to use.

This guide explains the key decisions involved in integrating NetSuite with Shopify Plus and how businesses can select an approach that supports their operational requirements.

Understanding the Role of NetSuite and Shopify Plus

The first step is to establish which platform owns each part of the customer and operational journey.

NetSuite will commonly remain the primary system for:

Shopify Plus will commonly manage:

The objective is not to recreate NetSuite within Shopify. It is to provide Shopify with the data and rules required to support the buying experience while retaining NetSuite as the operational and financial system of record.

1. Choose the Right NetSuite Integration Approach

One of the most important early decisions is whether to use NetSuite Connector, a custom integration, middleware or a combination of these approaches.

Oracle provides NetSuite Connector capabilities for Shopify, including standard mappings and synchronisation processes for products, orders, inventory, fulfilments, cancellations and refunds. Oracle also provides specific functionality for integrating Shopify B2B with NetSuite.

A packaged connector may be appropriate where:

A more customised integration may be required where the business has:

Using a packaged connector does not remove the need for discovery and data mapping. The connector still needs to be configured around the organisation’s NetSuite records, Shopify structure and business rules.

The choice should be based on process fit rather than simply selecting the quickest method to connect the two systems.

2. Define the Source of Truth for Each Data Type

Every field exchanged between Shopify and NetSuite should have a clearly defined owner.

Without this, synchronisation can overwrite customer-facing content, create inconsistent records or cause one platform to reverse changes made in the other.

A typical ownership model might be:

DataLikely source of truth
SKU and internal item IDNetSuite
InventoryNetSuite
Cost priceNetSuite
Customer-facing product titleShopify or PIM
Product descriptions and imagesShopify or PIM
Base pricingNetSuite
Customer-specific pricingNetSuite
Customer login credentialsShopify
Financial customer statusNetSuite
Online orderShopify
Fulfilment statusNetSuite
Invoice and credit memoNetSuite
Marketing consentShopify or marketing platform

Field ownership should be defined individually rather than assuming that one system owns an entire record.

For example, NetSuite may control an item’s SKU, tax schedule, inventory status and base price, while Shopify controls its product title, photography, SEO content and merchandising relationships.

The integration must preserve those boundaries.

3. Map NetSuite Items to Shopify Products and Variants

NetSuite and Shopify represent products differently.

Shopify generally uses a product and variant model. NetSuite can contain a broader range of item types and structures, including:

The integration needs to determine which NetSuite records should be published to Shopify and how they should appear.

A NetSuite matrix parent and its children may map naturally to a Shopify product with multiple variants. However, the mapping still needs to account for option names, SKU uniqueness, inactive children, imagery and product-level content.

Assemblies and kits require additional consideration.

An assembly may represent a manufactured product with its own inventory, while a kit may represent several components sold together. The business must determine whether Shopify should display these as normal products, bundles or configurable purchasing options.

Important product-mapping questions include:

This mapping should be designed before bulk product synchronisation begins.

4. Separate Operational Product Data from Merchandising Content

NetSuite product data is typically structured for finance, inventory and fulfilment rather than digital merchandising.

It may contain abbreviated item names, internal terminology, operational classifications and data that makes sense to warehouse or finance teams but is not suitable for customers.

Shopify may require:

The integration should not automatically overwrite enriched Shopify content whenever an item is updated in NetSuite.

A common model is for NetSuite to control the operational fields and Shopify, or a product information management platform, to control the merchandising fields.

The mapping should explicitly identify which attributes are synchronised and which remain untouched.

5. Design the Inventory Model Around NetSuite Locations

Inventory is rarely a single number in NetSuite.

A business may hold stock across:

The business must decide which NetSuite locations contribute to the quantity displayed in Shopify.

Possible models include:

Oracle’s NetSuite Connector supports Shopify inventory synchronisation, but the Shopify product must be configured to track inventory and the relevant inventory fields must be mapped correctly.

The integration also needs to determine whether it should send:

Publishing the wrong inventory measure can result in overselling or unnecessarily hiding stock that is available to customers.

6. Determine How Frequently Inventory Should Update

Inventory usually changes more frequently than product descriptions, customer accounts or pricing structures.

The appropriate synchronisation frequency depends on:

Some businesses may be able to update inventory every few minutes. Others may require an event-driven architecture or a central inventory service.

The process must also account for failures and delays. A queued inventory update should not silently remain unresolved while customers continue ordering against outdated quantities.

Monitoring, retries and reconciliation are therefore essential components of the inventory design.

7. Map NetSuite Pricing into Shopify Plus

NetSuite pricing can become one of the most complex parts of the integration.

A NetSuite account may use:

Shopify B2B uses catalogues to control which products and prices B2B buyers can access. Shopify Plus supports unlimited B2B catalogues and allows them to be assigned directly to companies and company locations.

This creates several possible approaches.

Synchronise NetSuite price levels into Shopify catalogues

This may work where customers are grouped into a manageable number of standard price structures.

For example:

Each NetSuite price level can be transformed into an appropriate Shopify catalogue.

Create customer-specific Shopify catalogues

This may be suitable where a limited number of customers have negotiated pricing.

However, it can become harder to maintain when thousands of customers have individually negotiated prices across large product catalogues.

Use tailored pricing logic

A customised approach may be needed where prices are calculated dynamically based on multiple NetSuite fields, quantities, currencies or contractual rules.

Pricing design should address:

The pricing model should be tested using real customers and real product combinations, not only a generic wholesale account.

8. Map Shopify B2B Companies to NetSuite Customers

Shopify B2B represents business customers using companies, company locations and individual customer contacts.

A company location can have its own catalogues, payment terms, checkout settings and shipping addresses. Buyers can be assigned permissions for one or more locations.

NetSuite may represent the same business through:

The integration must determine how these structures relate.

For example, a national customer might be:

The design affects:

The mapping should reflect how the customer is actually managed in NetSuite, not simply the most convenient way to create Shopify accounts.

9. Manage Payment Terms, Deposits and Credit Status

Shopify B2B supports payment terms configured against company locations, including a range of net terms, payment due on receipt and payment due on fulfilment. Shopify also supports percentage-based deposits for qualifying B2B orders.

NetSuite may remain responsible for deciding whether a customer is entitled to these terms.

The integration should determine how to manage:

A customer having Net 30 terms assigned in Shopify does not necessarily mean the customer has sufficient available credit for every order.

The business must decide whether credit should be:

NetSuite Connector also supports customer deposit workflows, but those processes must be configured correctly to avoid deposit-related posting errors.

10. Decide How Shopify Orders Should Be Represented in NetSuite

A Shopify order can be represented in NetSuite in several ways depending on how payment and fulfilment are managed.

Common record types include:

Oracle notes that connector orders will commonly use the preferred sales order form, while some Shopify POS workflows may use a cash sale form. These mappings can be adjusted where a different form is required.

The correct model depends on questions such as:

The integration should also map important Shopify data, including:

A successful API request is not enough. The resulting NetSuite record must be usable by finance, warehouse and customer-service teams.

11. Account for NetSuite OneWorld, Subsidiaries and Currencies

Businesses using NetSuite OneWorld may operate through multiple subsidiaries, currencies, tax registrations and legal entities.

This adds another dimension to the Shopify integration.

The integration may need to determine the correct NetSuite subsidiary based on:

The subsidiary selection can affect:

The integration should not rely on a single default subsidiary unless that accurately reflects the operating model.

Currency must also be considered carefully. The displayed Shopify currency, transaction currency, NetSuite customer currency and settlement currency may not always be the same.

Where multiple regional Shopify stores are used, it may be appropriate to map each store to a specific subsidiary and currency. In a consolidated storefront, the rules may need to be determined dynamically.

12. Return Fulfilments and Tracking to Shopify

NetSuite will often remain responsible for warehouse fulfilment.

When an order is fulfilled, the integration should return relevant information to Shopify, such as:

Oracle’s Shopify B2B connector supports fulfilment synchronisation from NetSuite to Shopify, including associated tracking information.

Partial fulfilments require particular attention.

One Shopify order may produce:

The integration must preserve the relationship between the Shopify fulfilment lines and the NetSuite fulfilment records.

Otherwise, a partial shipment may incorrectly mark the entire Shopify order as fulfilled.

13. Design Returns, Refunds and Cancellations End to End

Many integration projects focus heavily on products, inventory and orders but give limited attention to what happens after the sale.

Returns and refunds can involve several related records:

Oracle’s Shopify B2B integration includes refund and adjustment synchronisation intended to support returns, exchanges, order-status changes and related inventory updates.

However, the exact workflow should still be defined.

The business needs to decide:

Oracle also documents configurable behaviour for cancelling paid Shopify orders, including whether Shopify should automatically refund the order when the cancellation is synchronised.

This should be treated as a financial process, not merely a status update.

14. Reconcile Shopify Payments and NetSuite Financial Records

Order integration and financial reconciliation are related but separate processes.

A Shopify order may include:

The business needs to decide how Shopify transactions should appear in NetSuite and how they will be reconciled against payment gateway and bank settlement data.

Depending on the operating model, this may include:

Oracle provides a Shopify payout-report synchronisation capability and notes that refund payout data requires cash refunds and refund synchronisation to be configured.

The accounting design should be reviewed by finance stakeholders before development is finalised.

15. Plan for NetSuite API Governance and Concurrency

NetSuite integrations operate within governance and concurrency limits.

Oracle applies account-level concurrency governance across web services and RESTlet requests. Available concurrency depends on the NetSuite service tier and any additional SuiteCloud Plus licensing. Requests that exceed the applicable limit can be rejected.

This matters when Shopify is only one of several systems integrating with NetSuite.

The account may also be supporting:

A Shopify integration should not consume all available concurrency or disrupt other business processes.

The architecture should consider:

Oracle’s SuiteTalk REST web services support record operations, filtering, record transformations, asynchronous processing and SuiteQL queries. Oracle also provides governance operations that integrations can use to understand available concurrency.

The correct approach depends on transaction volume, business urgency and the broader NetSuite integration landscape.

16. Build Monitoring and Exception Management into the Integration

Integrations will encounter errors during normal operation.

Examples include:

The integration should provide:

An error should not require someone to notice manually that a Shopify order is absent from NetSuite.

Operational ownership must also be established. The business should know who responds to integration alerts and how failed transactions are corrected.

17. Test the Complete Transaction Lifecycle

Testing should follow realistic business scenarios from beginning to end.

A complete scenario might include:

  1. A product is created or updated in NetSuite.
  2. The item is published to Shopify.
  3. Inventory and pricing are synchronised.
  4. A customer logs in.
  5. The correct catalogue and price are displayed.
  6. The customer submits an order.
  7. The order is created in the correct NetSuite subsidiary.
  8. Payment or terms are represented correctly.
  9. Inventory is committed.
  10. The order is fulfilled.
  11. Tracking is returned to Shopify.
  12. The order is invoiced or recorded financially.
  13. A partial return is created.
  14. The customer receives a refund.
  15. The transaction reconciles financially.

Testing should include exceptions as well as successful orders.

Representative scenarios may include:

Testing should involve eCommerce, finance, customer service, warehouse and technology stakeholders.

Building a Reliable NetSuite and Shopify Plus Integration

NetSuite and Shopify Plus can provide a strong foundation for integrated eCommerce when each system has a clearly defined role.

Shopify should deliver a fast and effective buying experience. NetSuite should continue to support the operational and financial structures the business relies on.

The integration between them must account for more than basic product and order synchronisation. It needs to address item structures, inventory locations, B2B accounts, price levels, subsidiaries, payments, fulfilment, returns, reconciliation and NetSuite governance.

The most important work therefore happens before development begins.

A structured discovery process should establish:

OSE designs and delivers Shopify Plus integrations for businesses with complex ERP, eCommerce and operational requirements. Our team can help assess your NetSuite environment, determine the appropriate connector or integration architecture, and deliver a solution that supports both customer experience and back-office operations.

PREVIOUS ARTICLE

Pronto Xi and Shopify Plus B2B Integration: Key Considerations

Integrating Pronto Xi with Shopify Plus can give B2B customers a faster and more convenient way to place orders, access account pricing and manage their purchasing online. However, a successful B2B integration involves much more than transferring products into Shopify and sending completed orders back to Pronto Xi. Wholesale and trade businesses often have complex […]