---
title: "Wholesale discount not applying at checkout"
description: "When a Process Wholesale discount does not apply at checkout, the customer is usually not logged in or is missing the B2B tag or the exact discount tag. Other causes: product selection, plan, tag priority, thresholds, loyalty timing and missing cost or price list prices."
type: troubleshooting
plans: [All plans]
keywords:
  [
    discount not working,
    wholesale price not applied,
    B2B discount missing,
    discount not showing at checkout,
    customer paying retail price,
    tier discount not working,
    price list not applied,
    cost plus not working,
  ]
questions:
  - "Why is my wholesale discount not applying at checkout?"
  - "Why does a wholesale customer pay retail price?"
  - "Why does a quantity tier discount not apply?"
  - "Why does a loyalty discount not apply yet?"
  - "Why is a cost plus markup or price list discount missing on one product?"
last_verified: 2026-11-11
order: 1
---

# Wholesale discount not applying at checkout

When a wholesale customer (B2B customer) pays retail price at checkout, Process Wholesale did not find a discount for them. By far the most common cause is the customer's account: they are not logged in, they lack the `B2B` tag, or they lack the discount tag spelled exactly as the discount's name. Work through the quick checks in order; each one links to a section with how to confirm and fix the cause.

**Quick checks**

1. [The customer is logged in](#the-customer-is-not-logged-in) to the account that has the tags.
2. [The customer has the `B2B` tag](#the-customer-does-not-have-the-b2b-tag), not only `B2B_Registeration`.
3. [The customer has the discount tag, spelled exactly](#the-customer-does-not-have-the-discount-tag).
4. [The product is covered by the discount's **Applies to** selection](#the-product-is-not-covered-by-the-discount).
5. [The plan allows that discount type](#the-plan-does-not-include-the-discount-type).
6. [**Tag priority** and **Discount combinations** are set as intended](#tag-priority-or-combination-settings-choose-a-different-discount).
7. [The quantity or cart threshold is reached](#the-quantity-or-cart-threshold-is-not-reached).
8. [The loyalty level has been earned and recalculated](#the-loyalty-level-is-not-earned-or-not-yet-recalculated).
9. [Cost plus markup: the variant has a unit cost](#cost-plus-markup-the-variant-has-no-unit-cost).
10. [Price list: the variant is on the price list](#price-list-the-variant-is-not-on-the-list).

> **Tip:** Test with your own wholesale test customer: tag it `B2B` and the discount tag in Shopify admin, log in on the storefront, add the product and go to checkout.

## The customer is not logged in

**Confirm.** Process Wholesale discounts apply only when the checkout belongs to a customer account. A shopper who checks out as a guest, or is logged in to a different account than the one with the tags, pays retail.

**Fix.** Ask the customer to log in before adding products and starting checkout. On an order you create in Shopify admin, add the customer to the draft order; see [draft orders](../discounts/draft-orders.md).

## The customer does not have the B2B tag

**Confirm.** In Shopify admin, open **Customers**, select the customer and read **Tags**. In Process Wholesale, the customer should be on the **Active** tab of **Customers**. A customer on the **Pending** tab is tagged `B2B_Registeration` (spelled this way) and gets no wholesale discount.

**Fix.** Approve the customer with **Accept B2B** on the **Pending** tab. See [how to approve or reject wholesale applications](../customers/approve-or-reject-applications.md). The tag must be exactly `B2B`; any capitalization of those three letters works, but a tag that only contains them, such as `B2B_Registeration`, does not count.

## The customer does not have the discount tag

**Confirm.** The discount tag is the discount's name, as shown in **Discounts**. Creating a discount gives it to nobody. Check the **Discount tags** column on the **Active** tab of **Customers**, or the customer's **Tags** in Shopify admin. Compare the spelling character by character: a tag typed by hand as `Wholesale-15` does not match a discount named `wholesale15`.

**Fix.** Add the tag with **Manage discount tags** for one customer or **Bulk assign discount** for all wholesale customers. See [how to assign discounts to wholesale customers](../discounts/assign-discounts-to-customers.md).

A newly created discount can take a few minutes to start applying at checkout. Wait five minutes and try again before looking further.

Also check that the name is not used by two discounts of different types (for example a flat discount and a **Total Cart Value** tier both named `gold`). A flat discount and a Total Cart Value, Individual Product Quantity or Loyalty tier with the same name cannot both apply: only one of them is used. Give every discount a different name.

## The product is not covered by the discount

**Confirm.** Open the discount with **Edit** and read **Applies to**. With **Select individual products**, **Select collections** or **Select individual variants**, only those items are discounted. For a collection, the product must be in that collection now.

**Fix.** Add the product, collection or variant to the selection and select **Save**, or change **Applies to** to **All products**.

## The plan does not include the discount type

**Confirm.** Open **Plan** in Process Wholesale.

| Discount type                                                     | Plan needed                                                       |
| ----------------------------------------------------------------- | ----------------------------------------------------------------- |
| Flat discount, quantity tier, cart value tier, cart quantity tier | All plans (Starter: 1 discount; Enterprise and Professional: 100) |
| Loyalty tier, variant selection                                   | Enterprise or Professional                                        |
| Price list, cost plus markup                                      | Professional                                                      |

**Fix.** Upgrade to the plan the discount type needs. See [Process Wholesale plans](../account/plans-and-pricing.md).

## Tag priority or combination settings choose a different discount

**Confirm.** Open **Settings > Discount settings**.

- **Tag priority** decides between a flat discount and a quantity tier on the same product. With **Prefer tier tag**, a line covered by a quantity tier gets no discount when the quantity is below the first tier, even if a flat discount also covers it.
- Checkout reads **Tag priority** from the last time the **Settings** page was saved. Until the **Settings** page has been saved once, checkout behaves as **Prefer tier tag** even though the menu shows **Prefer flat tag**.
- When a customer has two flat discounts, only the one with the lowest **Priority** number that covers the product applies to that line.
- **Discount combinations** decide whether flat and tier discounts apply on the same order as a price list, a cost plus markup discount or a discount code. By default the price list and cost plus markup discounts are not set to combine with flat and tier discounts.

**Fix.** Choose the **Tag priority** you want and save the **Settings** page (the **Save** button appears only after a change, so if the menu already shows your choice, switch it, save, switch it back and save again), start a quantity tier at 1 if every quantity should be discounted, and set the combinations. See [which wholesale discount applies](../discounts/discount-priority-and-stacking.md) and [using Shopify discount codes with wholesale discounts](../discounts/discount-codes-and-combinations.md).

## The quantity or cart threshold is not reached

**Confirm.** Open the tier discount and compare its tiers with the cart:

- **Individual Product Quantity:** counts the units of one product in the cart, across its variants that the discount covers. Ten units of two different products do not reach a 10-unit tier.
- **Total Cart Value:** uses the cart subtotal **after** flat and quantity tier discounts, rounded down to a whole number. A $1,050 cart with 10% off flat is $945 and does not reach a $1,000 tier.
- **Total Cart Quantity:** counts the units on the lines the tier covers.

**Fix.** Explain the threshold to the customer, or lower the tier's **Min.** value. See [quantity tier discounts](../discounts/quantity-tier-discounts.md), [cart value tier discounts](../discounts/cart-value-tier-discounts.md) and [cart quantity tier discounts](../discounts/cart-quantity-tier-discounts.md).

## The loyalty level is not earned or not yet recalculated

**Confirm.** A loyalty discount needs the customer to have the loyalty discount's own tag **and** a level tag that Process Wholesale adds (it starts with `pw_loyalty_`). Process Wholesale recalculates levels every 2 hours from the customer's spend or order count within the **Purchase Period**. Voided and expired orders do not count, and a spend or order count of 0 never earns a level.

**Fix.** Make sure the customer has the loyalty discount's tag; Process Wholesale adds level tags only for customers who have it. After a qualifying order, allow up to 2 hours. See [how loyalty discounts work](../discounts/loyalty-discounts.md).

## Cost plus markup: the variant has no unit cost

**Confirm.** In Shopify admin, open the product variant and check **Cost per item**. A variant without a cost gets no cost plus markup discount. The discount also never raises a price: if cost plus the markup is at or above the retail price, there is no discount. After you create your first cost plus markup discount, costs take a few minutes to sync.

**Fix.** Enter the cost per item on the variant in Shopify admin and wait a few minutes. See [how to price wholesale products at cost plus a markup](../discounts/cost-plus-markup.md).

## Price list: the variant is not on the list

**Confirm.** A price list discounts only the variants it has a price for. Open the price list with **Edit**, or select **Export to CSV**, and look for the variant. If a customer has two price list tags, only one list applies to a variant.

**Fix.** Add the variant with its price and save, or use **Update from CSV** for lists with more than 200 products. Give each customer one price list tag. See [how to create a wholesale price list](../discounts/price-lists.md).

## Related articles

- [How to assign discounts to wholesale customers](../discounts/assign-discounts-to-customers.md)
- [Which wholesale discount applies: priority and stacking rules](../discounts/discount-priority-and-stacking.md)
- [Wholesale prices not showing on the storefront](wholesale-prices-not-showing.md)
- [Checkout problems for wholesale customers](checkout-problems.md)
