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
- The customer is logged in to the account that has the tags.
- The customer has the
B2Btag, not onlyB2B_Registeration. - The customer has the discount tag, spelled exactly.
- The product is covered by the discount's Applies to selection.
- The plan allows that discount type.
- Tag priority and Discount combinations are set as intended.
- The quantity or cart threshold is reached.
- The loyalty level has been earned and recalculated.
- Cost plus markup: the variant has a unit cost.
- Price list: the variant is on the price list.
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.
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. 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.
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.
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 and using Shopify discount codes with wholesale discounts.
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, cart value tier discounts and cart quantity tier discounts.
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.
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.
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.