---
title: "Wholesale prices not showing on the storefront"
description: "When Process Wholesale prices do not show on the storefront, the usual cause is expected behavior: the Product Wholesale block adds a table under the retail price on product pages only, for logged-in customers with a discount tag. Fixes for each case."
type: troubleshooting
plans: [All plans]
keywords:
  [
    wholesale price not showing,
    B2B price not displayed,
    product page shows retail price,
    wholesale table missing,
    collection page wholesale price,
    hide price not working,
    price different at checkout,
    Product Wholesale block not showing,
  ]
questions:
  - "Why are wholesale prices not showing on my storefront?"
  - "Why does the product page still show the retail price?"
  - "Why can't a logged-in wholesale customer see the wholesale table?"
  - "Why are wholesale prices not on collection pages?"
  - "Why is the price on the product page different from checkout?"
  - "Why are prices hidden from the wrong customers?"
last_verified: 2026-11-11
order: 2
---

# Wholesale prices not showing on the storefront

When wholesale prices do not seem to show on a Shopify store using Process Wholesale, the most common cause is expected behavior. The Product Wholesale block does not replace the theme's retail price: it adds a wholesale table under it, on product pages only, for logged-in customers who have a customer tag containing `b2b` and a discount tag that applies to the product. The wholesale price is applied at checkout for customers tagged `B2B`.

**Quick checks, in order of likelihood**

1. Are you looking for a table under the price, not a changed price?
2. Are you logged in on the storefront as a wholesale customer, not viewing the theme editor?
3. Does the customer have the `B2B` tag and a discount tag that applies to this product?
4. Is the Product Wholesale block on the template this product uses, and saved?
5. Are you looking at a collection page, search results or the home page, where the block cannot go?

## The product page shows the retail price

This is expected. The Product Wholesale block leaves the theme's price as it is and adds tables under it, such as `1 - 9 | 10% | $18.00` and `10+ | 20% | $16.00` for a $20.00 product. The customer pays the wholesale price at checkout.

**How to confirm:** Log in on the storefront as a wholesale customer with a discount tag and open a product the discount applies to. The table appears a moment after the page loads.

**Fix:** None needed. To hide retail prices from customers who are not wholesale, see [How to hide prices from customers who are not wholesale](../storefront/hide-prices.md) (Professional).

## No table for a logged-in customer

The Product Wholesale block shows nothing when any of these is true:

| Cause                                                                    | How to confirm                                                                                      | Fix                                                                                                                     |
| ------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- |
| The customer has no tag containing `b2b`                                 | In Shopify admin, open the customer and look at **Tags**                                            | Approve the customer in Process Wholesale under **Customers**, which adds `B2B`                                         |
| The customer has no discount tag                                         | The customer's tags include no discount tag from **Discounts**                                      | Assign a discount. See [How to assign discounts to wholesale customers](../discounts/assign-discounts-to-customers.md). |
| The discount does not apply to this product                              | Open the discount in Process Wholesale and check **Applies to** (products, collections or variants) | Add the product, or use **All products**                                                                                |
| The product uses a template without the block                            | In Shopify admin, check which theme template the product uses                                       | Add the Product Wholesale block to that template and select **Save**                                                    |
| A price list is the only discount and the store is not on Professional   | Check **Plan**                                                                                      | Price list rows need Professional                                                                                       |
| A price list is the only discount and the variant has no price in it     | Open the price list and look for the variant                                                        | Add a price for the variant                                                                                             |
| A cost plus markup is the only discount and the variant has no unit cost | Check the variant's unit cost in Shopify admin                                                      | Set a unit cost for the variant                                                                                         |

The theme editor never shows real tables. It always shows example tables, so test on the live storefront in a private window while logged in. Discount tags match the customer's tags exactly, ignoring capitalization: a customer tagged `Wholesale15` matches a discount tag `wholesale15`, but `wholesale-15` does not.

## The table shows a different discount than expected

The product discount table shows one product discount at a time, in this order:

1. Cost plus markup
2. Price list
3. Flat discount or quantity tier, chosen by **Settings > Discount settings > Tag priority** when the customer has both: **Prefer flat tag** (the default) or **Prefer tier tag**. Checkout follows **Tag priority** only after the **Settings** page has been saved once; until then it behaves as **Prefer tier tag**. See [which wholesale discount applies](../discounts/discount-priority-and-stacking.md#flat-discount-versus-quantity-tier-the-tag-priority-setting).

**Example.** A customer has a flat 10% discount and a quantity tier of 20% for 10 or more units on a $20.00 product. With **Prefer flat tag** the table shows `Any | 10% | $18.00`. With **Prefer tier tag** it shows `10+ | 20% | $16.00`.

When a customer has several flat discounts, the table uses the one with the highest priority on the **Flat Discounts** tab (1 = highest). For several quantity tiers, price lists or cost plus markups that apply, it shows one of them.

**Fix:** Change **Tag priority**, the flat discount priority, or the customer's discount tags. See [Which wholesale discount applies: priority and stacking rules](../discounts/discount-priority-and-stacking.md).

Two display rules can also look unexpected:

- For a **Fixed Price** discount, the **Discount** column shows the fixed price itself, not the amount saved. A fixed price of $12 shows `$12.00 | $12.00`.
- The product table's quantity column is headed **Minimum Cart Quantity**. For a quantity tier, it counts the units of this product in the cart, all variants together.

## No wholesale price on collection pages, search or the home page

The Product Wholesale block can be added only to product templates. Collection pages, search results, the home page, the cart and the cart drawer never show a wholesale table from Process Wholesale.

**Fix:** To give wholesale customers a product list with their prices, add the [Quick Buy wholesale order form](../storefront/quick-buy-setup.md) to a page (Enterprise or Professional). The wholesale price is applied at checkout either way.

## The product page and checkout show different prices

The table is a display; checkout applies the discounts. They can differ for these reasons:

| Cause                                                                                                                          | What happens                                                                                                           | Fix                                                                                                          |
| ------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ |
| The customer has a tag containing `b2b` but not the exact tag `B2B`, for example a pending customer tagged `B2B_Registeration` | The table shows, but checkout gives no wholesale discount                                                              | Approve the customer so they get `B2B`                                                                       |
| Cart value, cart quantity or loyalty discounts                                                                                 | Checkout adds them on top of the product discount; the table does not include loyalty discounts at all                 | Expected                                                                                                     |
| **Prefer tier tag**, with fewer units than the tier's first range                                                              | The table shows the tier rows; at checkout that line gets no discount, and the flat discount is not used instead       | Start the first tier at 1, or use **Prefer flat tag**                                                        |
| A Shopify discount code or another automatic discount                                                                          | Whether it combines is decided by the discount combination settings                                                    | See [Using Shopify discount codes with wholesale discounts](../discounts/discount-codes-and-combinations.md) |
| The customer shops in another currency and has a price list or cost plus markup                                                | The table shows those prices in your store currency amount with the customer's currency symbol; checkout converts them | Expected. Tell customers the table shows store-currency amounts for these prices.                            |
| The theme changed the variant without the table noticing                                                                       | The table still shows the variant the page opened with                                                                 | Reload the page with the variant selected, or check with your theme developer                                |

If the checkout price is wrong rather than the table, see [Wholesale discount not applying at checkout](discount-not-applying.md).

## Prices hidden, or not hidden, for the wrong visitors

Hide price (Professional) hides prices from every visitor without a tag containing `b2b`, and shows them to everyone with such a tag.

| Symptom                                             | Cause                                                                                                                   | Fix                                                                                                                       |
| --------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- |
| Guests still see prices                             | The **Hide price** app embed is off, or **Hide prices and buy buttons from non-B2B customers** is not checked and saved | Turn on both: the app embed under **Theme settings > App embeds**, and the setting under **Settings > Customer settings** |
| Some prices or buttons still show                   | The theme uses class names Hide price does not know                                                                     | Add custom selectors in the Hide price app embed                                                                          |
| Pending applicants see prices                       | `B2B_Registeration` contains `b2b`                                                                                      | Expected. Use [Lock Content Redirect](../storefront/lock-content.md) for pages only approved customers may open.          |
| A customer tagged `Wholesale` cannot see prices     | The tag does not contain `b2b`                                                                                          | Approve the customer so they get `B2B`                                                                                    |
| A non-wholesale visitor added a product to the cart | The add to cart button with the message still works                                                                     | Expected. Hide price changes the display only.                                                                            |

See [How to hide prices from customers who are not wholesale](../storefront/hide-prices.md).

## Related articles

- [How to show wholesale prices on product pages](../storefront/product-page-wholesale-prices.md)
- [Wholesale discount not applying at checkout](discount-not-applying.md)
- [How to hide prices from customers who are not wholesale](../storefront/hide-prices.md)
- [Which wholesale discount applies: priority and stacking rules](../discounts/discount-priority-and-stacking.md)
- [Process Wholesale blocks missing from the theme editor](theme-blocks-missing.md)
