Shopify > NetSuite - sync all price lists

Introduction

If prices are updated in Shopify, you can use this flow to sync with NetSuite.

The flow pulls price lists and associated prices from Shopify, and removes duplicate items. We then retrieve items from NetSuite (using UPC codes). Next, a script matches Shopify SKUs to NetSuite items, and inventory item price lists are updated.

Process flow snapshot

Click to view process flow snapshot

Limitations

Limitation
Summary

Shopify GraphQL for price lists

Shopify GraphQL for price lists does not have an updated at timestamp, therefore this flow needs to run manually, or on a daily schedule.

Catalogues

The general limitation of catalogs in NetSuite means that if a product price is updated in Shopify, that

same price level might be used by multiple catalogs in NetSuite. As such, NetSuite updates all products using that price level as 'changed'.

Price levels

Currency page price level and quantity are hard coded and will need to be updated or developed further to handle multiple currencies.

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

This flow assumes that SKUs are stored in NetSuite's upccode field. If you use a different field to store this value, any connector queries, mappings and scripts referencing the upccode field must be updated. Please see the Customisation ➤ process flow shapes section for details.

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 (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 all price lists

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 all prices from price list Variables : Leave the Price List variable as it defaults.

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.

Script

The Match upc for price update script expects NetSuite comparison values in upccode. Updates will be required if your system is configured differently.

Reference

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

Scripts in this process flow

Script
Summary

Dedupe items

Extracts SKUs from items, removes duplicates. Returns a payload with SKUs in a formatted SQL parameter, to be consumed by the subsequent NetSuite query.

Match upc for price update

Matches Shopify product prices with NetSuite items (via upccode) and prepares a de-duplicated list for price updates.

Cross-reference lookups in this process flow

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

Last updated

Was this helpful?