Plan: Merchants must be signed up to the Pro or Enterprise plan
Ecommerce Platform: Merchants must be using Shopify
Unleashed: Merhcants must have an approved Unleashed account
Introduction
Unleashed is a leading inventory management system that’s designed for manufacturers, wholesalers and distributors. From inventory and stock, order management, right through to fulfilment, Unleashed lets you automate your eCommerce operations. You can learn more about Unleashed here.
How it works
The Unleashed integration for SparkLayer is available for all Shopify merchants that already use Unleashed and allows you to bring B2B pricing and B2B ordering into SparkLayer and your Shopify store.
The integration works in the following ways:
Item
Details
Customers
Unleashed becomes the 'master' of your B2B customer data, and any changes to customer records that have the assigned Customer Type will automatically be synchronised to Shopify and SparkLayer.
Orders
Orders placed via SparkLayer are synchronised from Shopify into Unleashed using your existingUnleashed integration. Prices that show on orders will be the special B2B pricing as set up in Unleashed
Pricing
Price lists and product prices are imported into SparkLayer via pricing rules you set up in Unleashed
Sync
The automatic sync is carried out once per day which is 03:30am UK time
Please note
We recommend also familiarising yourself with the "Known limitations" below
Configuring the integration
Before you begin
You'll need to have an approved account with Unleashed - Please visit the Unleashed website to learn more.
To get started, the integration needs to be enable within the SparkLayer Dashboard Go to the Settings section, click Integrations, and then click the Partner Integrations tab. Under Multi-channel management, click the toggle on the right to activate the Unleashed integration.
You'll then be prompted to enter the following details:
Item
Details
API ID
You can find this within your Unleashed admin under Integration, Unleashed API Access
API Key
You can find this within your Unleashed admin under Integration, Unleashed API Access
Customer Types
The customer type should match a customer type that exists in Unleashed. This is the group of customers within Unleashed that SparkLayer will synchronise to Shopify.
Please note: this must match exactly what is in Unleashed and be seperated by a comma with no space (e.g. GROUP1,GROUP2). For the purposes of testing, we recommend creating a new group and testing with a dummy customer first before using an existing group.
Price Lists
This is the Unleashed price list you want to set as highest priority for all customer groups. For example if you assign a price list here this would take priority over all other price lists assigned to the customer account.
Please note: if you are adding multiple price lists, these must be seperated by a comma with no spaces.
Configuring Customers
Broadly speaking, Unleashed is your central location for managing B2B customer data. When customers are configured in Unleashed as B2B customers, SparkLayer can automatically retrieve this data and then enable the B2B ordering experience on your Shopify site.
Step 1 - setting up Customer Types
When you have set up the integration with SparkLayer within your Unleashed Dashbaord, go to Settings and then System. Within the options you will see Customer Type. Within this field, you'll then need to create the different customer groups that you are going to be offering different prices to.
Next, navigate to your SparkLayer Dashboard and Customer Groups. Here you'll need to create the customer groups with the names matching the title of the Customer Types you have created in Unleashed.
In our example below, we have Base and Gold.
Next, go to the Partner Integrations section of SparkLayer and click Modify within the Unleashed integration. Finally, add the Customer Types you have created in Unleashed that you want to sync across to SparkLayer. In our example, we've added them for Base and Gold.
Please note
Customer Typesmust be seperated by a comma with no spacing to sync correctly e.g. Base,Gold
Step 2 - syncing your customers
To sync your customers, you'll need to create your customers in your Unleashed Dashboard if you haven't already. When doing this you are able to allocate them a Customer Type. This will assign them into the specific customer group within SparkLayer when they are synced across.
Please note: The customer would not be tagged with this customer group as the normal SparkLayer function this will be assigned to them through a metafield (which is automatically created in your Shopify)
When setting up your customers in Unleashed, please ensure you set up:
A full address
Assign any specific tax settings
Assign a valid email address. This must be set up in order to sync to SparkLayer and Shopify.
Syncing across to SparkLayer and Shopify
First, you'll need to update the customer type to match that entered in the Customer Type field (as noted above). SparkLayer is then configured to synchronise once per night, and any new and updated records will automatically be synchronised with Shopify.
Customers are mapped between the systems based on the primary contact email set within Unleashed. Once this is mapped, SparkLayer will then synchronise the following data into Shopify and you'll be able to see within the customer record within Shopify.
Unleashed
Shopify / Spark Layer
Address
Shows against customer record in Shopify
Phone
Shows against customer record in Shopify
First / Last Name
Shows against customer record in Shopify
Company Name
Shown via metafields in Shopify
Stop Credit
Shown via metafields in Shopify (used to allow payment on account)
Taxable
Shows against customer record in Shopify
Please note
All customer data is managed via Unleashed and any amends made directly in Shopify will not synchronise back to Unleashed.
Step 3 - giving access & notifying new customers
Since Unleashed is the central source for customer data, any new customers created in Unleashed 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.
If you prefer not to send the customer account invite automatically, you can easily check if this option has been activated. Simply go to your SparkLayer Dashboard, navigate to Partner Integrations. When modifying your Unleashed integration, you can enable or disable this via the setting at the bottom.
Configuring Pricing
In Unleashed, you can utilise up to 10 price lists, allowing you to create multiple pricing tiers tailored to your various customer levels. On top of this limit, you have the flexibility to set customer-specific and product-specific discounts, providing even more granular control over your pricing strategy.
Step 1 - price list setup
In Unleashed, navigate to Settings > System > Sell Price Tiers. Here, you can customise the names of your price tiers, which are initially labelled as "Sell Price Tier 1" through to "Sell Price Tier 10".
Please note
SparkLayer does not support the custom names meaning they will show in SparkLayer as "Sell Price Tier X"
Promotion price list
If you want to offer a promotion to customers you are able to do this by creating a promotional price list. You are able to do this by adjusting the product prices within a specific price list mentioned above.
You are then able to sync this to all of your customers and make it a "priority price list". You'll need to add this to the Partner Integration within the SparkLayer Dashboard by clicking Modify on the Unleashed option. Within the Price Lists section, enter the price lists you want add.
As with Customer Types, if you're adding multple price lists, they must be separated with a comma with no spacing. E.g. PriceList1,PriceList1
Step 2 - viewing price lists
When you view a product within your Unleashed Dashboard, under the Sale tab you’ll see the available price tiers listed. For products offered to your wholesale customers, you can specify the exact price for each tier, depending on which pricing list is assigned to the customer.
Step 3 - assigning a price list
Within your Unleashed Dashboard, navigate back to the customer account that you are working on. You are then able to assign them a price list directly to the customer account within Sell Price Tier. This means when they login they will see the product pricing you've assigned to them.
Please note
These price lists will be asigned directly to the customer account through the SparkLayer price list metafield which is set up differently to standard price lists. You can learn more in Metafields
Setting up product specific discounts
Within the Unleashed Dashboard, navigate to a customer record and click Customer Pricing. Here you are able to set product specific pricing for this customer account.
You are able to search for a product, specify a fixed price or discount on the product. When doing this, it will create a new price list within the SparkLayer Price Lists section.
Please note
If you choose to offer a discount this will be from the Default Sell Price under Discount From. You can see more below under our Known Limitations.
Setting up additional customer discounts
Within the Unleashed Dashboard, navigate to a customer account and under the Details tab, you can provide customers with an additional discount on top of their assigned price list. You’ll see a Discount (%) box, where you can enter the desired discount percentage.
When doing this, it will create a new price list within the SparkLayer Price Lists section.
Assiging prices to the Shopify Customer account
Once you have finished configuring your customers pricing and a sync has taken place, you can then check the customer account in Shopify to ensure they have been assigned the correct pricing.
The price list will be assigned directly to the customer account in a Price List metafield (this gets added automatically when you first set up the SparkLayer integration). It will also create the price list within your SparkLayer Dashboard > Price lists as an "Integration" Price List.
With this metafield it will always work in a hierarchy order, which means when a customer searches a SKU it will check the first price list and will cascade through the price lists untill it finds a price.
In the example below you are able to see a number of price lists.
Any customer product specific discounts you have created within the customer in Unleashed.
Any customer specific percentage discounts that you have given on top of the price list assigned to the customer.
The normal price list that you have assigned to the customer
You will alway see a fallback of the Default Sell Price.
Data mapping
We've detailed how data is mapped between SparkLayer and Unleashed.
Item
Details
Creating Price Lists
SparkLayer generates several types of price lists based on the product prices available in Unleashed.
Default Price List
All product prices set in Unleashed under the Product/Sale tab go into a standard Default Price List. This acts as the baseline price for all products.
Sell Price Tiers
If Unleashed has specific Sell Price Tiers set up (e.g., "Sell Price Tier 1", "Sell Price Tier 2", etc.), SparkLayer creates separate price lists for these tiers. Unleashed supports up to 10 Sell Price Tiers that you can assign to different groups of customers.
Customer-Specific Prices
If any customer has unique prices specified under the Customer/Product Pricing tab in Unleashed, SparkLayer creates a Customer-Specific Price List for that customer. This ensures that individual customer agreements or special pricing arrangements are captured.
Handling Different Currencies
If a customer uses a currency other than the base currency, SparkLayer will automatically create Alternative Currency Price Lists based on the existing price lists.
Applying Discounts
If a customer has a specific discount percentage assigned (e.g., 10% off all products), SparkLayer will generate a Discounted Price List to reflect the adjusted prices.
Assigning Price Lists to Customers
When assigning prices to customers, SparkLayer follows this order of priority:
First, the Customer-Specific Price List (if available).
Then, a Sell Price Tier (if assigned in Unleashed).
Finally, the Default Price List.
If a customer has multiple currencies or discounts, they will get additional price lists accordingly.
Why Prefixed Price Lists?
SparkLayer may apply generic "prefixed" price lists to every customer. This is to ensure that a basic Sell Price Tier is always in place, even if the customer’s Unleashed configuration doesn’t explicitly assign one.
Known limitations
Setting a Discount % as a Price Type
In Unleashed, you can assign the customer’s ‘Sell Price Tier’ from the ‘Details’ tab of the customer record.
Additionally, you can set up specific discounts from the ‘Customer Pricing’ tab. However, there is a specific configuration of this that we do not support due to a limitation with the Unleashed API.
If you choose ‘Discount %’ as the Price Type, it will only affect their ‘Sell Price Tier’ (as referred to above), and not the ‘Default Sell Price’ or the ‘Customer Price Tier’.
The following limitations also apply:
Internally SparkLayer will use the internal SellPriceTier naming for simplicity between mapping, not the custom naming that can be setup via the Unleashed Settings
Customers set as obsolete will not be synced. When converting an account to obsolete in Unleashed, the customer will be needed to be disabled manually in Shopify.
Changing the customers email address, will create an additional customer in Shopify. The old account will need to be disabled manually.
Primary Customer Contacts will only be synced. If a new primary contact is selected, the existing Shopify customer on the store should be manually disabled.
Order Import Options in Unleashed Order Configuration must not use import orders to a single customer. To get around this, using a second store for B2B can be the solution.
Customer Synchronization must be disabled in the Unleashed Shopify integration.
Troubleshooting
Why are some of my customers not syncing correctly from Unleashed to Shopify?
Ensure that the Customer Type field in Unleashed matches exactly what you have set up in SparkLayer. Remember, the Customer Type names should be separated by a comma with no spaces (e.g., Base,Gold). Also, check that the email address is correctly set in Unleashed, as this is used to map the customer records.
Why am I not seeing the B2B pricing updates in my Shopify store?
This could be due to the pricing rules in Unleashed not being set up correctly. Make sure that the Price Lists in Unleashed are correctly assigned to the customers. Check that these lists match the Price Lists configured in SparkLayer and that they are separated by commas without spaces.
Why do changes I make in Shopify not reflect in Unleashed?
Shopify is not the master data source for customers in this integration. Unleashed is the single source of truth, meaning any updates made directly in Shopify will not synchronise back to Unleashed. Make changes in Unleashed, and the integration will push these updates to Shopify.
What should I do if orders placed in Shopify are not appearing in Unleashed?
Verify that the integration settings are configured correctly in the Unleashed Dashboard. Check that the correct API Key and Customer Type fields are being used. If these are set correctly, review the order logs in SparkLayer for any errors during the sync process.
Why are my custom price lists not displaying properly in SparkLayer?
SparkLayer currently supports Unleashed’s default Sell Price Tiers (e.g., "Sell Price Tier 1"). If you’ve created custom-named tiers, they will not appear in SparkLayer. You need to use the default naming convention for Sell Price Tiers to ensure they display correctly.
Why am I getting duplicate customers in Shopify after updating emails in Unleashed?
When you change a customer’s email address in Unleashed, it is treated as a new customer by Shopify. To avoid duplication, manually disable the old account in Shopify after making the change in Unleashed.
Why are my customer-specific discounts not being applied correctly?
Check that the Discount % has been set correctly in Unleashed. Keep in mind that using the "Discount %" option affects only the Sell Price Tier and not the Default Sell Price. For accurate discounts, make sure to apply them to the relevant Price Tiers or use Customer Pricing options within Unleashed.