NetSuite > Shopify - catalogs & pricing

Introduction

This flow syncs new/updated catalogs and pricing from NetSuite to Shopify.

To start, we prepare SKUs and variant IDs to support catalog creation. Catalogs are then retrieved from NetSuite via a custom field named custitemshopify_catalog. Catalogs are pulled if this field is not empty and at least one price set.

Having searched Shopify catalogs, a script determines whether new or updated catalogs are needed. Processing then continues down one of two branches:

  • New catalogs. Creates the catalog, followed by price lists and publications; then new catalogues are updated with price lists and products.

  • Update catalogs. Updates price lists and products.

Process flow snapshot

Click to view process flow snapshot

Limitations

Limitation
Summary

Catalog creation

In NetSuite, catalogs are not available out of the box. This flow is designed to create and update catalogs - it does not add catalogs to companies.

Shopify GraphQL error handling

There is a known limitation with error handling for Shopify GraphQL. Please refer to the Error handling for Shopify GraphQL section for more information and a suggested approach that you may wish to adopt in your flows.

Assumptions

Customisation

To ensure that this process flow runs as required, some customisation options are available. These are documented in the following sections:

Flow variables

This process flow does not use flow variables.

Process flow shapes

This process flow includes some shapes that can be configured with your own settings. Please see guidelines in the table below.

Shape
Notes

Trigger

This process flow is designed to be run manually.

Notify

This flow is designed in a try/catch structure, so notifications are generated if any part of the flow fails. To achieve this, the catch route includes a notify shape, which must be configured for your own notification preferences. Alert level: Defaults to error but can be changed if needed Channel: Defaults to email + log but can be changed if needed Email Limit: Defaults to 5 but can be changed if needed Notification Group: Replace the notify placeholder which your required notification group. Message: If required, you can change the placeholder message. For more information, please refer to our Notify shape and Notification groups pages.

Connector (NetSuite)

If you did not add or select a NetSuite instance during the blueprint installation process, the following settings must be configured: Source instance : Set to your required NetSuite instance. Source endpoint : Set to POST suiteQL

Query: SuiteQL compares SKUs to a value in NetSuite. This NetSuite connector is configured with a query that expects the comparison value in upccode. If you use a different field, please update the query accordingly.

Connector (Shopify)

If you did not add or select a Shopify instance during the blueprint installation process, the following settings must be configured: Source instance : Set to your required Shopify instance. Source endpoint : Set to POST Get variant IDs from SKU

Connector (Shopify)

If you did not add or select a Shopify instance during the blueprint installation process, the following settings must be configured: Source instance : Set to your required Shopify instance. Source endpoint : Set to POST Search Shopify catalogs Variables : Leave the Catalog Name variable as it defaults.

Connector (Shopify) Route: New catalogs

If you did not add or select a Shopify instance during the blueprint installation process, the following settings must be configured: Source instance : Set to your required Shopify instance. Source endpoint : Set to POST Create new catalog Variables : Leave the Catalog title variable as it defaults.

Connector (Shopify) Route: New catalogs

If you did not add or select a Shopify instance during the blueprint installation process, the following settings must be configured: Source instance : Set to your required Shopify instance. Source endpoint : Set to POST Create a price list after catalog creation Variables : Leave the Catalog title and Catalog ID variables as the defaults.

Connector (Shopify) Route: New catalogs

If you did not add or select a Shopify instance during the blueprint installation process, the following settings must be configured: Source instance : Set to your required Shopify instance. Source endpoint : Set to POST Create publication after pricelist Variables : Leave the Catalog ID variable as it defaults.

Connector (Shopify) Route: New catalogs

If you did not add or select a Shopify instance during the blueprint installation process, the following settings must be configured: Source instance : Set to your required Shopify instance. Source endpoint : Set to POST Update pricelist catalog Variables : Leave the Price List ID variable as it defaults.

Connector (Shopify) Route: New catalogs

If you did not add or select a Shopify instance during the blueprint installation process, the following settings must be configured: Source instance : Set to your required Shopify instance. Source endpoint : Set to POST Update products on catalog

Connector (Shopify) Route: Update catalogs

If you did not add or select a Shopify instance during the blueprint installation process, the following settings must be configured: Source instance : Set to your required Shopify instance. Source endpoint : Set to POST Update pricelist catalog Variables : Leave the Price List ID variable as it defaults.

Connector (Shopify) Route: Update catalogs

If you did not add or select a Shopify instance during the blueprint installation process, the following settings must be configured: Source instance : Set to your required Shopify instance. Source endpoint : Set to POST Update products on catalog

Reference

Reference information for this process flow is documented in the following sections:

Scripts in this process flow

Script
Summary

Generate graphql string to search SKUs

Pulls Shopify IDs as strings for searching.

Add shopify details and group parent and child

Adds variant details to the NetSuite results for new/update catalog processing.

Determine if a new or update catalog

Determine if a new or update catalog is needed and creates arrays for new/update catalogs processing.

Merge catalog and price list ids and output products

Creates a large array which is subsequently split by flow control.

Cross-reference lookups in this process flow

There are no cross-reference lookups to note for this flow.

Last updated

Was this helpful?