Brightpearl > Shopify - push catalog & pricing

Introduction

This process flow creates and updates catalogs in Shopify from Brightpearl price lists. In Brightpearl, price lists are the equivalent of catalogs. Price lists are retrieved and compared with Shopify, then new price lists are created, and existing price lists are updated. Price breaks are supported.

This blueprint includes two process flows to handle the sync of price lists between Shopify and Brightpearl: Brightpearl > Shopify (detailed here) and Shopify > Brightpearl. You only need to run ONE, depending on which way you want the sync to work.

Process flow snapshot

Click to view process flow snapshot

Limitations

Limitation
Summary

Price list creation in Brightpearl

There is no dedicated API to create price lists in Brightpearl, therefore this flow cannot create Brightpearl price lists 'on the fly'.

Assumptions

Assumption
Summary

Brightpearl product cache must be up to date

It is assumed that the Brightpearl - add products to cache for price lists flow has been run and your Brightpearl product cache is up to date.

Price list creation in Brightpearl

This flow assumes that required price lists have been created in Brightpearl.

Sync direction

Running this flow assumes that you want to sync prices in this direction (i.e. from Brightpearl to Shopify). If required, a flow for the reverse direction is available (Shopify > Brightpearl sync all price lists). You should run one or the other.

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

The default schedule for this flow is to run every weekday at 7pm. This is the recommended run frequency given dependence on the Brightpearl - add products to cache for price lists flow. If necessary, you can review/update schedules for these flows.

Connector (Brightpearl)

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

Source endpoint : Set to GET Get all price lists

Connector (Brightpearl)

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

Source endpoint : Set to GET Get product prices from price list Price list Id : Set to [[payload.priceListId]] Id : Set to [[payload.product]]

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 Catalog name : Set to [[payload.catalog_name]]

Connector (Shopify) branch: First branch

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 Catalog name : Set to [[payload.title]]

Connector (Shopify) branch: First branch

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 Catalog title : Set to [[meta.catalogtitle]] Catalog ID : Set to [[meta.catalogid]]

Connector (Shopify) branch: First branch

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 price list Catalog title : Set to [[meta.catalogid]]

Connector (Shopify) branch: First branch

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 v2 Price list ID : Set to [[meta.pricelistid]] Variant ID : Set to [[payload.variantId]] Amount : Set to [[payload.amount]] Currency code : Set to [[payload.currencyCode]]

Connector (Shopify) branch: First branch

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) branch: Second branch

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 v2 Variant ID : Set to [[payload.variantId]]

Amount : Set to [[payload.amount]]

Price list ID : Set to [[meta.pid]] Currency code : Set to [[payload.currencyCode]] Minimum quantity : Set to [[payload.minimumQuantity]]

Connector (Shopify) branch: Second branch

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

Match products to valid catalogs

Only outputs with a custom price list.

Make quantity price an array

Supports price break information.

Brightpearl - merge catalog data

Merges Brightpearl data into the required format.

Brightpearl - determine if a new or update catalog

Based on a comparison of Brightpearl and Shopify data, determines if a catalog needs to be created or updated.

Brightpearl - merge catalog and price list ids and output products

Adds new products with prices into new catalogs.

Transform to support break price

Adjusts the payload for Shopify so it can accept quantity breaks.

Cross-reference lookups in this process flow

This process flow does not use cross-reference lookups.

Last updated

Was this helpful?