Shopify > Brightpearl - product creation and update
Introduction
The flow creates and updates products from Shopify to Brightpearl.
Multiple requests are made to Brightpearl to retrieve brands, options, option values, tax codes, and categories. This information is cached.
Next, new and updated products are retrieved from Shopify (a lookback period can be defined from a flow variable). These are searched in Brightpearl, and a script determines whether new products or product updates are needed. New products flow down one branch, and updated products flow down another for final syncing to Brightpearl.
Process flow snapshot
Limitations
High call volume
Given the way Brightpearl works, this flow requires a high number of calls. For this reason, we advise that it's run manually, as needed.
Price updates only
By default, the 'update' branch updates pricing - no other fields ar changed.
Assumptions
Shopify data
It is assumed that data in Shopify is correct and up to date at the time this process flow is run.
Shopify sales channel for Brightpearl products
This flow assumes that you have a Shopify sales channel for Brightpearl items, named Brightpearl. If you use a different sales channel, some flow adjustments will be needed. Please refer to Customisation ➤ Process flow shapes for details.
Product matching
Product matches are determined by SKU. A product is deemed 'new' if no exact match is found between Shopify and Brightpearl SKU values.
Customisation
To ensure that this process flow runs as required, some customisation options are available. These are documented in the following sections:
Flow variables
The table below summarises flow variables defined for this process flow.
updatedat
Set the relative number of days to look back for product updates. Update the default value as required.
-2 hours UTC
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 settings determine the outcome of process flows. Do not change shape settings unless they are listed below.
Trigger
The default schedule for this flow is to run every 2 hours. This is the recommended run frequency, but the schedule can be changed if necessary.
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 tax codes
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 brands
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 product options
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 product option values
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 product types
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 product categories
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 new and updated products for Brightpearl
Update at : Set to {{flow.variables.updatedat}}
Note: The Update at variable references the flow variable value defined for your lookback period.
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 search products
Parameters : A default filter is defined to search (and match) on SKU values. If you are matching on a different field, this filter should be adjusted.
Map
Branch: Create new products
This flow assumes that you have a Shopify sales channel for Brightpearl items, named Brightpearl. If you use a different sales channel, the custom string transform function associated with the salesChannelName mapping rule should be adjusted:

Reference
Reference information for this process flow is documented in the following sections:
Scripts in this process flow
Brightpearl - Determine new and updated products
Checks if a product is currently in Brightpearl or requires updating.
Append price lists to the products for new products
Takes prices from Shopify and appends the relevant price to the correlating price break.
Cross-reference lookups in this process flow
This process flow does not use cross-reference lookups.
Last updated
Was this helpful?
