1. Introduction

Brightpearl is a multi-channel platform that lets you connect, manage, and automate your eCommerce operations. From inventory and stock, order management, right through to fulfilment. You can learn more about Brightpearl here.

2. How it works

The Brightpearl integration for SparkLayer is available for all Shopify merchants that already use Brightpearl and allows you to bring B2B pricing and B2B ordering to your Shopify store: The integration works in the following ways ways:
Brightpearl becomes the 'master' of your B2B customer data, and any changes to tagged customer records will automatically be synchronised to Shopify and SparkLayer.
Orders placed via SparkLayer are synchronised from Shopify into Brightpearl using your existing Brightpearl integration. Prices that show on orders will be the special B2B pricing as set up in Brightpearl
Product Pricing
Price lists and product prices are imported into SparkLayer via pricing rules you set up in Brightpearl
Product Rules
Rules such as 'pack sizing' or minimum order quantities are imported from Brightpearl into SparkLayer using Brightpearl 'Custom fields'.

3. Configuring on SparkLayer

To configure Brightpearl on SparkLayer, you'll need to have an approved account with Brightpearl. Please visit the Brightpearl website to learn more.
To get started using Brightpearl on SparkLayer, you'll first need to enable the integration. Within the SparkLayer Dashboard, go to the Configuration section, click Integrations, and then click the Partners tab.
Under Multi-channel management, click the toggle on the right to activate the Brightpearl integration.
You'll then be prompted to enter your Brightpearl account ID (which can be found within your Brightpearl admin) and then authorise SparkLayer to access your Brightpearl account.
Once the authorisation process is completed, the final step is to configure how you want customers to be mapped between the two systems.

4. Configuring Customers

Broadly speaking, Brightpearl is your central location for managing B2B customer data. When customers are configured in Brightpearl as B2B customers, SparkLayer can automatically retrieve this data and then enable the B2B ordering experience on your Shopify site.
Within Brightpearl, Contact tags are used as the primary mechanism to map data between systems. Within Brightpearl, go to Settings, Contacts and click Tags.
To enable the data mapping between the two systems, it's necessary to create new tags and then to map the names accordingly. For example, if you wanted just a single B2B customer group for your UK store, you could name this SparkLayer UK. Within SparkLayer, to complete the mapping process, this tag simply needs to be matched as shown below.
You can then create specific rules for this customer group, e.g. minimum orders, price lists, via the Customer Group section within SparkLayer.

Customer sub-groups

It's also possible to create more sophisticated rules for your customers and create sub-groups as shown below.
For example, you may have a VIP group within your B2B customers where they get special pricing. To map sub-groups between Brightpearl and SparkLayer:
  1. 1.
    First create your sub-group in Brightpearl. For example SparkLayer UK - VIP
  2. 2.
    Within the Customer Group section within SparkLayer, create a new group ensuring you match the naming convention after the dash symbol in Brightpearl, e.g. VIP
This will then allow you to create additional B2B sub-groups within your customer base.

Customer mapping

Customers are mapped between the systems based on the primary email set within Brightpearl. Once this is mapped, SparkLayer will then synchronise the following data into Shopify.
Shopify / Spark Layer
Shows against customer record in Shopify
Receive email newsletters
Shows against customer record in Shopify
Primary Telephone
Shows against customer record in Shopify
First / Last Name
Shows against customer record in Shopify
Shown via metafields in Shopify
Company Name
Shown via metafields in Shopify
Customer tag (see above)
Shown via metafields in Shopify - matches to customer group
Credit Limit / Balance on Account
Shown via metafields in Shopify
Price List
Shown via metafields in Shopify
Customer Custom Field: SL_CTAGS
Additional tags to be added to the customer record in Shopify - must be comma delimited if more than 1 tag (note: if a tag is removed it is not synced across, only additions are synced)
Customer Custom Field: SL_SAGTS
Shown via metafields in Shopify - matches to SparkLayer Sales Agent groups, must be comma-delimited
How data is mapped to Shopify, using metafields
Please note, all customer data is managed via Brightpearl and any amends made directly in Shopify will not synchronise back to Brightpearl.

Adding new B2B customers

Since Brightpearl is the central source for customer data, any new customers created in Brightpearl will automatically be added to Shopify. When new customer records are added to Shopify, they will by default be added as Pending customer accounts and receive an automatic email to enable their account by setting a password.
Example email sent from Shopify
This uses the Customer account invite notification email which can be edited in the Notifications section within Shopify.

5. Configuring Product Pricing

Once customers are mapped between Brightpearl and SparkLayer, the next step is to configure your B2B pricing. As with customers, Brightpearl is your centralised source for managing your B2B pricing.

Setting up B2B pricing in Brightpearl

Within Brightpearl, go to Settings, Products/Inventory, and click Price Lists. To add a new price list, click the Add new price list button and complete as necessary
Click to zoom
In the example above, we've created two price lists; B2B and UKVIP
Once you've created your price list(s) in Brightpearl, you'll then see a new tab show against all product records where pricing rules (including price breaks) can be specified. In the example below, you can see pricing for the UKVIP price list.
In order for SparkLayer to map this data, price list records are automatically imported each time you add a price list in Brightpearl. The mapping works as follows:
Field name in SparkLayer
Field name in Brightpearl
Handle / ID
Price list code
Price list
Please note: Only price lists set to non-cost are synchronised between Brightpearl and SparkLayer. During the prices synchronisation, they will be match based on gross / net setup within the Brightpearl price list.

6. Configuring Product Settings

Product settings allow you to map additional data against a product such as pack sizing or minimum/maximum order quantities. As with customers and pricing, this data needs to be mapped in a specific way.
To get started, within Brightpearl to to Settings, Custom fields and click Products. To add a new custom field, click the Add a field button.
To synchronise the custom fields with SparkLayer, each custom field needs to have a specific Custom field code added as below:
Custom field code
Spark Layer Product Setting
Pack size
Reserve stock quantity
Min. order quantity
Max. order quantity
Min. order parent quantity
Max. order parent quantity
Please note, the type of the above fields must be Numeric only, otherwise they will not be synced across.
Once you've added your custom fields, these will then show in the custom fields settings page and on each product record when you're editing it within Brightpearl.
Custom settings within Brightpearl
Custom settings within Brightpearl for a product

7. Known limitations

Please note the following:
  • Default addresses in Brightpearl will be mapped to Shipping and Billing address in Shopify as Shopify doesn't support independent addresses.
  • A customer that is removed from the customer group will not be disabled within Shopify.
  • Addresses are a 1-way sync currently, from Brightpearl into Shopify. Its recommended to not allow address editing in SparkLayer otherwise new addresses added won't appear in Brightpearl.
  • Issues syncing customers across are provided via email currently. A viewer will be added in the dashboard shortly.

8. Requirements

Merchants must be signed up to the Professional or Enterprise plan
eCommerce Platform
Merchants must be using Shopify or Shopify Plus (all Plans)