# Shopify > Brightpearl - sync all price lists

## Introduction

The process flow retrieves all prices lists from Shopify, compares them Brightpearl, and makes required updates.

{% hint style="info" %}
This blueprint includes two process flows to handle the sync of price lists between Shopify and Brightpearl: Shopify > Brightpearl (detailed here) and [Brightpearl > Shopify](https://doc.wearepatchworks.com/product-documentation/blueprints/patchworks-blueprints/shopify-and-brightpearl/available-process-flows-shopify-and-brightpearl/brightpearl-greater-than-shopify-push-catalog-and-pricing). You only need to run ONE, depending on which way you want the sync to work.
{% endhint %}

## Process flow snapshot

<details>

<summary><img src="https://2440044887-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLYNcUBVQwSkOMG6KjZfz%2Fuploads%2FSUvxsp8XwrC9qsafJMIe%2Ficon%20process%20flow.svg?alt=media&#x26;token=ad1dc886-4a4e-4cad-9ad0-3d755e0f3b5a" alt="" data-size="line"> Click to view process flow snapshot</summary>

<div align="left"><figure><img src="https://2440044887-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLYNcUBVQwSkOMG6KjZfz%2Fuploads%2FmSSWkiMOq55Fpi2sZ88z%2FShopify%20%3E%20Brightpearl%20-%20Sync%20all%20price%20lists%20-%20full%20flow.png?alt=media&#x26;token=80dff05b-86b7-4814-b2b4-9dfe3e57d4a0" alt=""><figcaption></figcaption></figure></div>

</details>

## Limitations

<table><thead><tr><th width="266.79296875">Limitation</th><th>Summary</th></tr></thead><tbody><tr><td>Price list creation in Brightpearl</td><td>There is no dedicated API to create price lists in Brightpearl, so they must be created manually. This flow updates existing price lists, it does not create new ones.</td></tr></tbody></table>

## Assumptions

<table><thead><tr><th width="266.79296875">Assumption</th><th>Summary</th></tr></thead><tbody><tr><td>Sync direction</td><td>Running this flow assumes that you want to sync prices in this direction (i.e. from Shopify to Brightpearl). If required, a flow for the reverse direction is<a href="shopify-greater-than-brightpearl-fulfillment"> </a>available (<a href="brightpearl-greater-than-shopify-push-catalog-and-pricing">Brightpearl > Shopify push catalog &#x26; pricing</a>). You should run one or the other.</td></tr><tr><td>Price list creation in Brightpearl</td><td>This flow assumes that required price lists have been created in Brightpearl.</td></tr><tr><td>Product cache</td><td>This flow assumes that the <a href="brightpearl-add-products-to-cache-for-price-lists">Brightpearl products cache</a> is up to date. </td></tr></tbody></table>

## Customisation

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

* [Flow variables](#flow-variables)
* [Process shape shapes](#process-flow-shapes)

### 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.

{% hint style="warning" %}
Shape settings determine the outcome of process flows. Do not change shape settings unless they are listed below.&#x20;
{% endhint %}

<table data-full-width="false"><thead><tr><th width="220.09375">Shape</th><th>Notes</th></tr></thead><tbody><tr><td>Trigger</td><td>No default schedule is set. This flow is designed to be run manually, as required. </td></tr><tr><td>Connector (Shopify)</td><td>If you did not add or select a Shopify instance during the blueprint <a href="../installation-guide-shopify-and-brightpearl">installation process</a>, the following settings must be configured:<br><br><code>Source instance</code> : Set to your required <code>Shopify</code> instance.<br><code>Source endpoint</code> :  Set to <code>POST Get all price lists and prices</code></td></tr><tr><td>Connector (Brightpearl)</td><td><p>If you did not add or select a Brightpearl instance during the blueprint <a href="../installation-guide-shopify-and-brightpearl">installation process</a>, the following settings must be configured:<br><br><code>Source instance</code> : Set to your required <code>Brightpearl</code> instance</p><p><code>Source endpoint</code> :  Set to <code>GET Get product prices</code><br><code>Id</code> :  Set to <code>[[payload.pid]]</code>.</p></td></tr><tr><td>Connector (Brightpearl)</td><td><p>If you did not add or select a Brightpearl instance during the blueprint <a href="../installation-guide-shopify-and-brightpearl">installation process</a>, the following settings must be configured:<br><br><code>Source instance</code> : Set to your required <code>Brightpearl</code> instance</p><p><code>Source endpoint</code> :  Set to <code>GET Get all price lists</code></p></td></tr><tr><td>Connector (Brightpearl)</td><td><p>If you did not add or select a Brightpearl instance during the blueprint <a href="../installation-guide-shopify-and-brightpearl">installation process</a>, the following settings must be configured:<br><br><code>Source instance</code> : Set to your required <code>Brightpearl</code> instance</p><p><code>Source endpoint</code> :  Set to <code>PUT Upate product price quantity 1 break</code>  <br><code>Id</code> :  Set to <code>[[meta.pid]]</code>.</p></td></tr></tbody></table>

## Reference

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

* [Scripts used in this process flow](#scripts-in-this-process-flow)
* [Cross-reference lookups used in this process flow](#cross-reference-lookups-in-this-process-flow)

### Scripts in this process flow

<table><thead><tr><th width="293">Script</th><th>Summary</th></tr></thead><tbody><tr><td><p>Dedupe SKUs</p><p><br></p></td><td>De-dupes data retrieved from multiple price lists (based on SKUs) for optimal searching in Brightpearl.</td></tr><tr><td>Remove price lists not found in BP</td><td>Since Brightpearl does not support the creation of price lists, this script removes any prices lists retrieved from Shopify, if they do not exist in Brightpearl.</td></tr></tbody></table>

### Cross-reference lookups in this process flow

This process flow does not use cross-reference lookups.
