# Run volume pricing and promotions for trade customers

URL: https://docs.sparklayer.io/help/guides/volume-discounts

Reward bigger B2B orders with quantity price breaks and pack sizes, then run discounts such as volume tiers and coupon codes for chosen customer groups.

> **Quick summary**
>
> - You'll end up with lower unit prices for larger quantities, products sold in packs if you need them, and promotions such as "5% off 24 or more units" for the customer groups you choose.
> - Allow about 30 minutes, plus time to prepare a CSV of price breaks.
> - Quantity pricing and pack sizes are on every plan. Pack sizes aren't available on Wix. [Discounts](https://docs.sparklayer.io/help/pricing/discounts.md) need the Growth plan or above, including the 14-day Growth trial.

There are 3 ways to reward bigger orders, and you can combine them. Quantity pricing changes a product's price as the quantity goes up. Pack sizes control how many customers can order. Discounts sit on top of your price lists, so you can run a promotion without changing anyone's prices.

## Before you start

- **Your price lists set up.** See [Set up wholesale prices](https://docs.sparklayer.io/help/guides/set-up-wholesale-prices.md).
- **Your price breaks**, for example 14.99 each from 1 unit and 10.99 each from 5.
- **The customer groups** a promotion is for, and any coupon code or dates.

## Set it up

### Step 1. Choose the right tool

| To | Use |
| --- | --- |
| Lower a product's unit price as the quantity goes up | [Quantity pricing](https://docs.sparklayer.io/help/pricing/quantity-pricing.md) (step 2) |
| Sell a product in packs, or set a minimum quantity | [Quantity rules](https://docs.sparklayer.io/help/storefront/quantity-rules.md) (step 3) |
| Run a promotion, such as more off as the quantity goes up, money off over a spend, or a coupon code | [Discounts](https://docs.sparklayer.io/help/pricing/discounts.md) (steps 4 to 6) |

### Step 2. Add quantity price breaks

Prepare a CSV file with `sku`, `price` and `qty` columns, one row per price break. Always include a row for a quantity of `1`:

```csv
sku,price,qty
123-abc,14.99,1
123-abc,10.99,5
```

Go to **Pricing > Price lists** in the SparkLayer Dashboard ([open](https://app.sparklayer.io/pricing/lists)), or **SparkLayer Wholesale > Pricing > Price lists** in the Shopify app, click **Upload** next to the price list, check the rows and click **Import**. Quantity pricing works with prices you upload, not with an automatic pricing rule. See [Set up quantity pricing](https://docs.sparklayer.io/help/pricing/quantity-pricing.md#set-up-quantity-pricing).

To change the breaks for one product, use the [Price editor](https://docs.sparklayer.io/help/pricing/price-editor.md). [Take the 1-minute tour](https://docs.sparklayer.io/help/pricing/price-editor?tour).

### Step 3. Set pack sizes or minimum quantities

Optional. Pack sizes and minimums are set in a metafield on each product variant.

**Shopify only:**

Go to **Integrations > Platform** in the SparkLayer Dashboard ([open](https://app.sparklayer.io/configuration/integrations/platform)), or **SparkLayer Wholesale > Integrations > Platform** in the Shopify app. In the **Metafields** card, click **Configure** next to **SparkLayer metafields** to add **B2B - Pack Size** to your variants. Then open the product in your Shopify admin, select a variant, enter the pack size, for example `6`, and click **Save**.

**Lots of products? Fill them in one table (Shopify):** in your Shopify admin, go to **Products**, tick the products and click **Edit products**. Click **Columns**, tick **B2B - Pack Size** under **Metafields**, type the values and click **Save**. See [Shopify's guide](https://help.shopify.com/en/manual/custom-data/metafields/bulk-edit-metafields).

**BigCommerce and WooCommerce and Magento only:**

Add a variant-level `sparklayer` field with the key `pack_size`, as your platform's metafields guide describes, and enter the pack size on each variant.

**Wix only:**

Wix doesn't support metafields, so pack sizes and product quantity limits aren't available.

See [Set a pack size](https://docs.sparklayer.io/help/storefront/quantity-rules.md#product-pack-sizing) and [Set minimum and maximum quantities](https://docs.sparklayer.io/help/storefront/quantity-rules.md#set-minimum-and-maximum-quantities).

### Step 4. Create a discount

Go to **Pricing > Discounts** in the SparkLayer Dashboard ([open](https://app.sparklayer.io/discounts)), or **SparkLayer Wholesale > Pricing > Discounts** in the Shopify app and click **Create discount**. Enter a **Discount internal name**, a **Discount handle (or ID)** and a **Discount public name**, which customers see. See [Create a discount](https://docs.sparklayer.io/help/pricing/discounts.md#create-a-discount). [Take the 1-minute tour](https://docs.sparklayer.io/help/pricing/discounts?tour).

For more off as the quantity goes up, choose **Advanced requirements and rewards** under **Type**. Set each tier's **Minimum units** and **Discount**, and click **Add tier** for more. See [Set up volume tiers](https://docs.sparklayer.io/help/pricing/discounts.md#set-up-volume-tiers).

### Step 5. Choose which products it applies to

Optional. Under **Rules**, click **New rule** to add the products, collections or tags the cart must include before the discount applies. See [Restrict a discount to certain products](https://docs.sparklayer.io/help/pricing/discounts.md#restrict-a-discount-to-certain-products).

### Step 6. Choose who gets it, and when

Under **Requirements**, tick **Customer groups** and choose the groups. Add a **Coupon codes** requirement if customers should enter a code, and **Scheduling** for start and end dates. Click **Save**. See [Limit a discount to customer groups](https://docs.sparklayer.io/help/pricing/discounts.md#limit-a-discount-to-customer-groups) and [Limit who can use a discount and when](https://docs.sparklayer.io/help/pricing/discounts.md#limit-who-can-use-a-discount-and-when).

## Check it worked

Signed in as a customer in the group:

- **The product page shows the price breaks**, as a table of **Qty**, **Price** and **Savings**.
- **The quantity selector moves in packs**, if you set a pack size.
- **The cart shows the discount** once the order meets its requirements, or once you enter the coupon code.
- **A customer in another group** doesn't get the discount.

## If something's not right

- **Price breaks don't show.** Check the `qty` column and that every SKU has a price for a quantity of 1. See [Tiered pricing doesn't show](https://docs.sparklayer.io/help/troubleshooting.md#tiered-pricing-doesnt-show).
- **A discount isn't applied.** Check it's **Active** and the order meets every requirement. See [Why wasn't a discount applied to an order?](https://docs.sparklayer.io/help/pricing/discounts.md#why-wasnt-a-discount-applied-to-an-order)
- **There's no coupon box at checkout.** It only shows when an active discount uses a coupon code. See [I don't see the discount coupon box](https://docs.sparklayer.io/help/pricing/discounts.md#i-dont-see-the-discount-coupon-box-on-the-checkout).
- **You can't save a discount.** On Basic or Starter, discounts need Growth. See [Why can't I save a discount?](https://docs.sparklayer.io/help/pricing/discounts.md#why-cant-i-save-a-discount)

## Next steps

- [Give a key account their own prices](https://docs.sparklayer.io/help/guides/key-account-prices.md): Set different prices for one company or customer
- [Charge the right B2B shipping](https://docs.sparklayer.io/help/guides/b2b-shipping.md): Offer free shipping over a spend
- [Discounts](https://docs.sparklayer.io/help/pricing/discounts.md): Every discount type and requirement
