---
title: "How to create a flat wholesale discount"
description: "In Process Wholesale, a flat discount gives wholesale customers with its tag the same percentage or amount off every eligible item. Create it under Discounts > Flat Discounts on any plan; it applies at Shopify checkout."
type: how-to
plans: [All plans]
keywords:
  [
    flat discount,
    percentage off wholesale,
    amount off wholesale,
    wholesale price for tagged customers,
    customer tag discount,
    B2B discount,
    flat tag,
    wholesale discount Shopify,
  ]
questions:
  - "How do I give wholesale customers a percentage off all products on Shopify?"
  - "Can a flat wholesale discount apply only to some products or collections?"
  - "Which flat discount applies when a customer has more than one?"
  - "Can I set a fixed wholesale price with a flat discount?"
  - "Why does the flat discount summary say on all products?"
  - "How many flat discounts can I create on my plan?"
  - "Do customers get the flat discount as soon as I create it?"
  - "Does a flat discount work with a Shopify discount code?"
last_verified: 2026-11-11
order: 2
---

# How to create a flat wholesale discount

A flat discount in Process Wholesale gives every wholesale customer (B2B customer) who carries its discount tag the same percentage off, or the same amount off each unit, on all products or on the products, collections or variants you choose. Create it in the Process Wholesale app under **Discounts > Flat Discounts > Create new tag**. It is applied at Shopify checkout to logged-in customers tagged `B2B`, and it is available on every plan; selecting individual variants needs Enterprise or Professional. A flat discount is also called a flat tag or a customer tag discount.

**At a glance**

- **Plan:** All plans. Starter 1 discount, Enterprise and Professional 100 (flat and tier discounts counted together). **Select individual variants** needs Enterprise or Professional.
- **Where:** Process Wholesale > **Discounts > Flat Discounts**
- **Applies to:** Logged-in customers tagged `B2B` who also carry the discount tag
- **Discount:** **Percentage Off** or **Price Off** (an amount off each unit), the same for any quantity
- **Applied by:** the Shopify automatic discount **B2B Order/Loyalty Discount**

## Steps to create a flat discount

1. In Shopify admin, open the **Process Wholesale** app and select **Discounts**. The **Flat Discounts** tab opens first.
2. Select **Create new tag**. If the button reads **Upgrade to create more** or **Discount limit reached**, your plan's discount limit is reached (see "Limits and things to know").
3. In **Discount tag name**, enter the name of the discount. This is also the customer tag that grants it, for example `wholesale20`. The field starts with a suggested name such as `newflatdiscount482`. Use lower-case letters and numbers only: capital letters are turned into lower case and other characters are removed as you type. The name cannot contain `b2b`: the field does not accept a change that would create it.
4. In **Discount type**, choose one option:
   - **Percentage Off** ("Give a percentage off the listed price."): enter the percentage in **Value**.
   - **Price Off** ("Give a fixed amount off the listed price."): enter the amount in **Amount**, in your store currency.
     Values can have up to 2 decimals. The field starts at 0.
5. In **Applies to**, choose which products the discount covers:
   - **All products** (the default)
   - **Select individual products**: select **Select product** and pick products in the Shopify picker. The button then shows "{count} products selected".
   - **Select collections**: select **Select collection** and pick collections.
   - **Select individual variants**: select **Select variant** and pick variants. This option is available on Enterprise or Professional; on other plans it cannot be selected.
6. Check the **Summary** card on the right, then select **Save** in the save bar at the top of the page. Process Wholesale shows "Discount created" and returns to the **Flat Discounts** list. The new discount gets the lowest priority in the list.
7. Give the discount tag to the customers who should get it, from the **Customers** page, by auto-assign on approval, or with **Bulk assign discount**. See [How to assign discounts to wholesale customers](assign-discounts-to-customers.md). Creating the discount does not add its tag to anyone.

### Validation messages on the flat discount form

| Message                                                                                                | Cause                                                                                                                     |
| ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------- |
| Discount tag name is required. Please enter a discount tag name.                                       | **Discount tag name** is empty                                                                                            |
| A discount with the tag name "x" already exists. Please use a different tag name.                      | Another flat discount already uses the name                                                                               |
| Discount value cannot exceed 100 in percentage. Please change discount value to a value less than 100. | **Percentage Off** is above 100                                                                                           |
| Selected items are missing. Please select at least one product for individual product discount.        | **Select individual products** with nothing selected (the same message names collection or variant for the other options) |

## How to set the priority between flat discounts

The **Flat Discounts** list shows the columns **Priority**, **Customer Tag**, **Discount**, **Products**, **Collections** and **Manage**, sorted by priority. "1 = Highest Priority". Use the up and down arrows on a row to swap its priority with the row next to it. When a customer carries more than one flat discount, Process Wholesale uses, for each product, the highest-priority flat discount that covers that product.

The **Discount** column shows `10%` for a percentage, `$5` for an amount off, or `Fixed` for a fixed price. The **Products** column shows the number of products the discount covers.

## What your customers see

- **On product pages:** with the [Product Wholesale block](../storefront/product-page-wholesale-prices.md) in your theme, a logged-in customer with a tag that contains `b2b` and the discount tag sees one row in the product discount table: quantity "Any", the discount and the wholesale price. For a 20.00 product with **Price Off** 5, the row reads "Any | $5.00 | $15.00". The theme's own price stays the regular price.
- **In Quick Buy:** on Enterprise or Professional, customers tagged `B2B` see the discounted price in the [Quick Buy](../storefront/quick-buy-prices.md) order form. A 50.00 product with 20% off shows 40.00 and "20% off"; with 5.00 off it shows 45.00 and "$5.00 off".
- **At checkout:** the discount is applied to the order. Its label starts with `PW:` followed by the discount tag names, for example `PW: wholesale20`.

## How the flat discount is calculated at checkout

Process Wholesale applies a flat discount only when the customer is logged in (or the order is a draft order with a customer), has the tag `B2B` in any capitalization, and has the discount tag.

For each product in the cart, Process Wholesale picks the customer's highest-priority flat discount that covers that product, then:

- **Percentage Off:** discount per unit = unit price × percentage ÷ 100
- **Price Off:** discount per unit = the amount, converted to the customer's currency
- The line discount is the per-unit discount × the quantity.

All flat and tier discounts on the order are added together and applied as one discount on the order.

**Examples**

- 10% flat discount, 2 units at 50.00: 5.00 off each, 10.00 off in total.
- **Price Off** 5, 2 units at 50.00: 10.00 off. When the customer pays in a currency whose exchange rate is 2, the amount becomes 10.00 per unit and 20.00 off in total.
- A flat discount limited to a collection, and the cart has no product from that collection: no flat discount.

**Flat discount or quantity tier.** When a product is covered by both a flat discount and a [quantity tier](quantity-tier-discounts.md), only one applies. **Settings > Discount settings > Tag priority** decides: **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 [priority and stacking rules](discount-priority-and-stacking.md#flat-discount-versus-quantity-tier-the-tag-priority-setting).

**When changes apply.** A change to an existing discount applies at checkout shortly after you save. Process Wholesale re-checks its checkout discounts every 5 minutes, so a new discount tag applies within about 5 minutes.

## Limits and things to know

- **Plan limits.** Starter allows 1 discount, Enterprise and Professional 100, counting flat and tier discounts together. On Starter at the limit, the button reads **Upgrade to create more**; on Enterprise or Professional it reads **Discount limit reached**. Opening the create form at the limit on Starter shows a message that the Starter plan is limited to 1 discount, and the form returns to the **Discounts** page.
- **No fixed price on new flat discounts.** **Fixed Price** ("Change price from the listed price to a set price.") appears only when you edit a flat discount that already uses it. To set an exact price, use a [price list](price-lists.md) (Professional) or a quantity tier with **Fixed Price**.
- **Tag names cannot be changed.** **Discount tag name** is locked after the discount is saved. To rename, create a new discount and move customers to the new tag.
- **Use a tag name no other discount uses**, including tier, price list and cost plus discounts. When a flat discount shares its tag name with a quantity, cart value or loyalty tier, only one of the two applies at checkout. When it shares the name with a cart quantity tier, price list or cost plus markup discount, every customer who carries the tag gets both.
- **The summary always says "on all products".** The **Summary** card reads, for example, "10% off on all products" even when the discount covers selected items. The **Details** line below it shows the real selection.

> **Important:** Keep a **Price Off** amount below the price of every product the discount covers. An amount larger than a product's price takes more than that product's price off the order.

- **Deleting is immediate.** **Delete** on the discount's page has no confirmation step and removes the tag from every customer tagged `B2B`. See [Editing and deleting wholesale discounts](edit-or-delete-a-discount.md).

## Troubleshooting

| Symptom                                              | Likely cause                                                                                                             | Fix                                                                                                                                                      |
| ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
| A wholesale customer gets no flat discount           | The customer does not have both `B2B` and the discount tag, or is not logged in                                          | In Shopify admin, open the customer and check both tags. See [Wholesale discount not applying at checkout](../troubleshooting/discount-not-applying.md). |
| The discount applies to some products only           | **Applies to** is limited to products, collections or variants, or a higher-priority flat discount covers those products | Open the discount and check **Applies to** and the **Details** line; check the order in the **Flat Discounts** list.                                     |
| A quantity tier applies instead of the flat discount | **Tag priority** is **Prefer tier tag**                                                                                  | Change it under **Settings > Discount settings > Tag priority**.                                                                                         |
| I cannot type my tag name                            | The name contains `b2b`, capitals or other characters                                                                    | Use lower-case letters and numbers without `b2b`.                                                                                                        |
| **Select individual variants** is unavailable        | The store is not on Enterprise or Professional                                                                           | Upgrade, or select products or collections instead.                                                                                                      |

## Frequently asked questions

### Can a flat wholesale discount apply only to some products or collections?

Yes. In **Applies to**, choose **Select individual products** or **Select collections**, or **Select individual variants** on Enterprise or Professional. Products outside the selection get no flat discount.

### Which flat discount applies when a customer has more than one?

The one with the highest priority (the lowest number in the **Priority** column) that covers the product. Change the order with the arrows in the **Flat Discounts** list.

### Can I set a fixed wholesale price with a flat discount?

No. New flat discounts offer **Percentage Off** and **Price Off**. For an exact price per product, use a [price list](price-lists.md) on Professional, or a [quantity tier](quantity-tier-discounts.md) with **Fixed Price**.

### Do customers get the flat discount as soon as I create it?

No. A customer gets the discount only after its discount tag is added to their customer record, together with `B2B`. See [How to assign discounts to wholesale customers](assign-discounts-to-customers.md).

### Does a flat discount work with a Shopify discount code?

That depends on the **Discount combinations** settings under **Settings > Discount settings**. See [Using Shopify discount codes with wholesale discounts](discount-codes-and-combinations.md).

## Related articles

- [Wholesale discount types compared: flat, tier, price list and cost plus markup](discount-types.md)
- [How to assign discounts to wholesale customers](assign-discounts-to-customers.md)
- [Which wholesale discount applies: priority and stacking rules](discount-priority-and-stacking.md)
- [Editing and deleting wholesale discounts](edit-or-delete-a-discount.md)
- [How to show wholesale prices on product pages](../storefront/product-page-wholesale-prices.md)
