Price Lists

Introduction

Price lists are a central feature to SparkLayer and they allow you to set specific pricing for specific customer groups. The SparkLayer Dashboard lets you manage your available price lists and gives you powerful tools to set the exact pricing you want for your B2B customers
With SparkLayer, you can support the following types of B2B pricing structure:
Pricing Type
Text
Customer-specific
  • Price lists can be assigned at a product variant level
  • Multiple price lists can be assigned at a customer group level or specific customer level
  • Price lists can be set up in different currencies
  • Discounts can be assigned at a customer-level on top of assigned price list
Quantity pricing
  • The ability to set volume-based discounts (e.g. Buy 1 at $10, Buy 10 at $8)
  • The ability to set quantity pricing at a variant level but for quantity calculations to work at parent level
Advanced settings
  • The ability to configure rules such as minimum order quantities, pack sizes and more at a per customer group level

Getting started

First, go to the Products section within the Dashboard and you'll see the Price List area. In order to get started with Price lists, there are a number of steps to follow:
  1. 1.
    First, a price list needs to be created; this can either be done manually in SparkLayer or automated from your backend system
  2. 2.
    Next, prices then need to be imported into the price list. A price list comprises of a product SKU and and associated price. You can upload price lists manually using our built-in CSV import tool, or automate this from your backend system (learn more here).
  3. 3.
    Finally, the price list needs to be assigned to a Customer Group in order for customers to see these prices when they login to your website.
If you're looking to also set up pack sizing along with your price lists, you can read our guide for Shopify here.

Creating a price list

To create a new price list, click the Create Price List button on the top right.
You'll then be prompted to complete the following information
Item
Details
Name
The price list name as displayed in SparkLayer. You'll use this name to assign it to a Customer Group.
Handle
The unique handle (i.e. ID) of the price list that is sent to the backend system. This should match what is set up in the backend system, e.g. base-list
Currency
The default currency, e.g. GBP
Finally, when you click the Create price list button, the newly created price list will then show in the list available.
Item
Details
Name
The price list name
Handle / ID
The ID of the price list
Currency
The default currency, e.g. GBP
Actions
The ability to manually upload prices via a CSV file
Please note, if you're connecting your backend system to SparkLayer, price lists should only be manually added if they aren't automatically imported via your backend system.

Importing a price list

Manually importing prices via a CSV

Please note, prices should only be manually uploaded if you're not looking to synchronise your backend system with SparkLayer.
To get started, click Upload prices on the Price list you want to add prices to. You'll then be prompted with the following screen and asked to upload a CSV file.

Use our template CSV file

You can save time and use our ready-made template CSV file and then adapt for your specific pricing structure:
The structure of a price list is very simple and simply comprises of two columns: a sku and a price. In order for the CSV file to import successfully, you simply need to set up the following columns:
Column
Details
Required
sku
The product SKU as set up in your eCommerce platform or backend system
Yes
price
The unit price for the SKU (e.g. 14.99). Note: this must not include a currency symbol (e.g. $, £)
Yes
Time-saving tip: if you only need to upload prices for certain products, you can do this with 'partial CSV uploads'. Simply create a CSV file with the product SKU and price (as noted above) and this will update any existing pricing SparkLayer holds.
Having issues? Check our price list troubleshooting guide.

Uploading tiered pricing

SparkLayer also supports the option to have tiered pricing allowing you to offer discounted prices based on the unit quantities ordered. For example, for 1 unit, the price may be £14.99, but for 5 units the price may be £10.99.
The quantity field in the sample CSV file (named qty) lets you define the price the customer pays for that specific quantity of the item.
In order for the CSV file to import your tiered pricing successfully, it must have the following columns:
Column
Details
Required
sku
The product SKU as set up in your eCommerce platform or backend system
Yes
price
The unit price for the SKU at the quantity set in column 3 (qty)
Yes
qty
The quantity of the SKU for the specified price for tiered pricing (see below)
No (defaults to 1)
On set up, the SparkLayer Product Purchasing Interface will clearly show the tiered pricing to your customers. By default, the tiered pricing will show a 'Savings' amount based off the single unit price of the product (or variant). If you'd prefer for the savings amount to be based off the RRP (i.e. retail price), you can configure this here.
How tiered pricing works with variants
It's also possible to display the price breaks table anywhere on your product detail page by adding the following code:
1
<spark-variant-price-breaks
2
variant-sku="{{ product.selected_or_first_available_variant.sku }}"
3
parent-id="{{ product.id }}"
4
></spark-variant-price-breaks>
Copied!

Setting tax types

You can optionally also set the tax type against your prices, such as gross or net simply by adding a new column named tax.
Please note: For merchants using Shopify, the gross tax type is unsupported currently.

Validating the CSV file

When you upload the CSV file, you'll then be shown validation messages based on the content of the file. If the CSV file successfully passes validation, you'll be notified and shown a sample of what has been imported.
Clicking Save Price List will then import the file into SparkLayer and customers will then see these prices when logged in.

Validation warnings

If the file cannot be imported, e.g. missing prices or an incorrectly formatted file, you'll be notified with relevant details.
It's important to note that a file can be successfully imported but include missing data, e.g. perhaps a product SKU doesn't exist and prices cannot be matched. You'll be notified of affected SKUs and notes on how to remedy the issue.

Synchronising price lists with your backend system

If you're looking to import your price lists into SparkLayer automatically from your backend system (e.g. ERP), you'll need to send price list data via the SparkLayer API.
Learn more about how this works in our guide here.

Assigning price lists to customers

Once you've created and uploaded prices for your Price list(s), you can then assign these to different customer groups. This means you can control which customers see which prices when they sign into your website.
Learn more about how to set up customer groups in our guide here.

Applying customer-specific discounts to price lists

Once you've created a price list and assigned it to a customer group, it's also possible to set up customer-specific discounts on top of the price list giving you even more flexibility in the prices your customers see.
See our guide here on how to set up customer-specific discounts

The base price list

The base price list is a fallback price list that is enabled by default for all SparkLayer accounts. It’s really there to allow you to test how SparkLayer works and lets you set up sample B2B pricing that will then display for B2B customers that haven’t been assigned a custom price list.
In reality, you're likely to have multiple price lists that may be assigned at a customer level, and you can follow our guide above to set this up.
That said, if your B2B pricing set up in your backend system is very simple and you have need for just one price list for B2B customers, you could use the base-list as your main price list to trigger B2B pricing on your storefront.

Checking price list data

You can check if price list data has been assigned to an individual product by using the Product Data Lookup tool. From the Data Feeds Tab, click Products and from within the Product Data Lookup tool, search for the Product External ID you have just modified. In the Pricing Data section of the returned JSON, you should then see the pricing data you’ve sent to SparkLayer via the API.
In this example, prices have been sent with tiered pricing
If you can see the pricing data, this confirms that price list data has successfully been sent.
Last modified 23d ago