Wholesale Electronics DistributionB2B / Wholesale8 min read

Minimum Margin Protection for Wholesale Pricing on Shopify

Margin-based wholesale tiers plus a minimum-profit floor, with the difference between markup and margin and the limits of cost-based protection.

A descending wholesale price line that flattens at a floor of cost plus minimum profitDiscounts stop where profit beginsListTier 1Tier 2Tier 3Margin floorFloor appliedEach tier discounts a share of price minus costCost + min. profit

A wholesale tier set as a percentage off the selling price ignores cost, so rising supplier costs erode profit. Basing tiers on profit margin shrinks the discount as cost rises, and a minimum-profit floor (cost plus a markup or fixed amount) caps it. Protection depends on accurate Shopify Cost per item and excludes fees, shipping, and combined discounts.

At a glance

Challenge
Wholesale tiers set as a percentage off the selling price kept the same discount after supplier costs rose, cutting one switch's margin from 17.0% to 2.6%.
Approach
Wholesale / B2B Pricing based on profit margin, profit protection with a minimum profit per unit, a deliberate missing-cost rule, and gross profit tracking.
Discount Prime campaign types used
Wholesale / B2B PricingProfit Floor

Scenario-based case study: the merchant is fictional and modeled on patterns across Discount Prime stores. Prices, costs and outcome figures are illustrative assumptions for teaching, not measured results from a real store.

Short Answer

A wholesale discount set as "X% off the selling price" keeps cutting the same share of the price even after supplier costs rise, so a product can drift to near-zero or negative profit without any rule failing. In Discount Prime's Wholesale / B2B Pricing, the fix has two parts:

  1. Base the tiers on profit margin, so each tier discounts a share of (price minus cost) instead of a share of the price. When cost rises, the discount shrinks with it.
  2. Turn on profit protection with a minimum profit, so no tier can price a unit below cost plus that minimum.

This protects the wholesale price of products that have an accurate Shopify cost. It is not a guarantee that every order is profitable: it depends on cost data, ignores fees and shipping, and does not cover other discounts the customer combines. The sections below show where the limits are.

Scenario

BrightSource Distribution is a fictional Shopify wholesaler of networking and office electronics, selling to logged-in trade accounts. Its wholesale tiers were set as a percentage off the selling price. One enterprise switch shows the problem.

Illustrative assumptions: retail price $899.00, top wholesale tier 18% off the selling price, order of 60 units. Gross profit below means price minus Shopify unit cost; payment fees, shipping, and returns are excluded.

Cost $612 (original)Cost $718 (supplier increase, retail unchanged)
Wholesale price (18% off $899)$737.18$737.18
Gross profit per unit$125.18$19.18
Gross margin (profit ÷ price)17.0%2.6%
60-unit order: revenue / gross profit$44,230.80 / $7,510.80$44,230.80 / $1,150.80

Nothing malfunctioned. A selling-price discount simply has no idea what the product costs.

Markup and Margin Are Different Numbers

Profit floors are easy to misread, so define the terms first:

TermFormulaExample: cost $100, price $120
Markup on cost(price − cost) ÷ cost20%
Gross margin on price(price − cost) ÷ price16.7%

Discount Prime's wholesale "Keep minimum profit" is a markup on cost. A percentage setting of 20% means the floor is cost × 1.20, which is a 16.7% gross margin, not 20%. To guarantee a gross margin M, enter a markup of M ÷ (1 − M): 20% margin needs 25% markup, 15% margin needs about 17.6%. (Product Bundle profit protection, by contrast, is defined as margin on price. Do not copy a number between the two without converting it.)

Alternatives Compared

ApproachFits whenDoes not fit when
Review large orders manuallyLow order volume, a few key accountsHundreds of daily orders; it catches problems after the sale
Lower the blanket discountNarrow catalog with similar marginsMixed margins: it underprices nothing and overprices the healthy products
Fixed price lists per tier (native Shopify B2B catalogs, where your plan supports them, or a spreadsheet)You negotiate exact prices per account and update them deliberatelyThousands of SKUs whose costs move often
Selling-price tiers with a manual price floor (Discount Prime)Products in a narrow price band; you want one dollar minimumWide price ranges: one dollar floor cannot fit a $20 cable and a $900 switch
Profit-margin tiers with minimum profit (Discount Prime)Accurate Shopify costs; margins differ by product; costs changeCost data is missing or stale (see below)

Note: "B2B" in Discount Prime means customer segments, specific customers, purchase-history conditions, or logged-in customers. It does not use Shopify's B2B companies and locations.

SettingValue in this scenarioWhy
Campaign typeWholesale / B2B PricingCheckout pricing for eligible customers only
Based onProfit marginThe tier value applies to (price − cost)
Top tier value56% of marginRoughly reproduces today's wholesale price at the original cost
Profit protectionOn, keep minimum profit $45 per unit (fixed)High-ticket item where every unit must fund a fixed contribution
If a variant has no costSkip this variantPrevents a discount with no floor (see edge cases)
EligibilityWholesale customer segment or specific customersRestricted eligibility requires the customer to be logged in

Why 56%: at the original cost, 18% off the price was $161.82, which is about 56% of the $287 margin ($738.28 instead of $737.18). Choosing the margin share that matches today's price means trade accounts see no change until costs move. To adapt it, divide your current wholesale discount in dollars by your current margin in dollars.

What Happens as Cost Rises

Same product, same assumptions. The floor is cost + $45.

Unit costSelling-price tier (18% off)Margin tier (56% of margin)Floor applied?Gross profit per unit (margin tier)
$612$737.18$738.28No (floor $657)$126.28
$718$737.18$797.64No (floor $763)$79.64
$820$737.18 (a loss of $82.82)$854.76 computed, $865.00 charged✓Yes$45.00

Two lessons from the table:

  • Most of the protection comes from the margin base, not the floor. At $718 the floor never triggers; the discount shrank on its own.
  • The customer sees the change. At $718 the trade price is 11.3% below retail instead of 18%; at $820 it is 3.8% below. Accounts on negotiated pricing may object. If the cost increase is permanent, raising the retail price (for example with a percentage Bulk Price Update) may be the better conversation than a shrinking wholesale discount.

Choosing the floor per category

CategoryFloor settingResulting floorGross margin at the floor
Enterprise networkingFixed, cost + $45$763 on a $718 cost5.9%
Office electronicsPercent, cost + 12%cost × 1.1210.7%
AccessoriesPercent, cost + 20%cost × 1.2016.7%

A fixed floor suits high-ticket items where a percentage would be tiny in dollars; a percentage floor scales with cheap items. Set the floor from what each unit must cover beyond its cost (fees, pick and pack, outbound shipping you absorb), not from a benchmark.

Limits and Edge Cases

  • Cost comes only from Shopify's Cost per item. A cost of 0 counts as missing. Costs you enter in the app are written back to Shopify. Active wholesale prices are re-checked automatically shortly after a price or cost changes, so the floor is only as current as the cost field.
  • Cost scope. If Cost per item excludes inbound freight or duties, the floor is understated by that amount.
  • Missing cost. With "Apply discount on selling price instead", the tier value is applied to the selling price with no floor: a 56% margin tier becomes 56% off list. With "Skip this variant", the product sells at its normal price. Check which rule is selected rather than relying on a default.
  • Selling-price base has no cost floor. Profit protection applies when tiers are based on profit margin; the selling-price base only has the manual price floor.
  • Adjust cents runs after the floor. A .00 ending turns a $865.40 floor into $865.00. Use .99 or keep a buffer.
  • Fixed amount for all items together. A lump discount is split across lines, each clamped at its floor, with any remainder moved to lines that still have room; the customer can receive less than the advertised amount.
  • Other discounts are outside the floor. A Shopify discount code or an order-level campaign that combines with the wholesale price can push the order below your intended profit. Tiered, order, shipping, and flat campaigns have no cost floor of their own.
  • Plan. Wholesale / B2B Pricing requires the Prime plan or above, and the number of live variants is capped by plan. An 18,700-product catalog needs a plan whose limit covers it; check the in-app Plans page.

Pre-launch Tests

Test inputExpected result
Logged-in wholesale account, product with cost $718$797.64 per unit
Same account, product whose cost you raise to $820 in ShopifyAfter the automatic re-check, $865.00
Guest or non-eligible customerRetail price
Product with no cost, rule "Skip"Retail price
Product with no cost, rule "Apply"Tier applied to selling price, no floor (confirm this is acceptable)
Wholesale cart plus a Shopify discount codeCheck the combined price against your floor

Measurement

  • Primary metric: gross profit per wholesale order, from Discount Prime's Estimated Profit (cost of goods, discount, and shipping subsidy deducted; lines without cost are excluded).
  • Guardrail: wholesale units and reorder rate per account. A shrinking discount can move volume to competitors.
  • Data health: count of campaign variants missing cost, and how old the last cost update is.
  • Compare against: the same accounts before the switch, keeping in mind seasonality and account mix. Before/after alone does not prove the change caused the result.
  • Next decision: if the floor triggers often on one category, its retail price or supplier terms need attention, not a lower floor.

Frequently asked questions

How do I stop wholesale discounts from selling below cost on Shopify?

In Discount Prime's Wholesale / B2B Pricing, base the tiers on profit margin and turn on profit protection. Each tier then discounts a share of price minus cost, and no unit that has a Shopify cost is priced below cost plus your minimum profit (a .00 Adjust cents ending can round a few cents under it). Tiers based on the selling price have only a manual dollar floor, not a cost floor. The floor uses Shopify's Cost per item, so it is only as accurate as that field.

Is a minimum profit of cost plus 20% the same as a 20% margin?

No. Cost plus 20% is a 20% markup on cost, which is a 16.7% gross margin on the selling price. Discount Prime's wholesale and dropshipping floors are defined as markup on cost; its bundle floor is defined as margin on price. To guarantee a margin M, enter a markup of M divided by (1 minus M): a 20% margin needs a 25% markup.

Should a wholesale profit floor be a fixed amount or a percentage?

It depends on price level. A fixed minimum, such as cost plus $45, suits high-ticket items where a percentage would be small in dollars. A percentage, such as cost plus 12% or 20%, scales with cheap, high-volume items. Set the number from what each unit must cover beyond its cost, such as payment fees, handling, and shipping you absorb, rather than from a generic benchmark.

Does a profit floor guarantee every wholesale order is profitable?

No. It caps the wholesale price for products that have a cost. A product with no cost under the apply rule is discounted with no floor, and the floor ignores fees, shipping subsidies, and returns. Other discounts that combine at checkout, such as Shopify discount codes or order-level campaigns, are not limited by it. Test a full cart, including any codes your buyers use.

Will wholesale customers notice when costs rise?

Yes, if tiers are based on profit margin. The discount is a share of the margin, so when cost rises the trade price rises too. In the example, a switch went from 18% below retail to 11.3% below at a $718 cost. If the increase is permanent, raising the retail price may be a clearer change for accounts on negotiated pricing than a shrinking discount.

Go deeper

Run this architecture in your store

Every campaign type in this case study is included in Discount Prime, with profit analytics to verify the margin impact.

More case studies