Wholesale pricing guide

How B2B Onboard price levels work: percentage, fixed or Shopify-managed prices, the CSV format, quantity breaks and rules, the routes by Shopify plan, and what stays after uninstalling.

What a price level is

A price level is the wholesale pricing an approved buyer sees: a percentage off retail or fixed prices from a file, plus optional quantity breaks and quantity rules. You create and edit levels under Settings → Wholesale pricing → Price levels. You never have to open Markets or Catalogs in Shopify admin yourself.

The app compiles each level into Shopify's own B2B pricing objects, so your theme shows the prices and Shopify checkout charges them:

  • Catalog — the level's catalog, named after the level with “(B2B Onboard)” after it.
  • Price list — attached to the catalog, in your store currency, with the level's percentage as its adjustment, plus any fixed prices and quantity breaks.
  • Publication — makes every product, and products you add later, available in the catalog.
  • B2B market (Basic, Grow and Advanced plans only) — the market the catalog belongs to. Approved company locations are added to it. On Shopify Plus there is no market: the catalog is assigned to the company location directly.

Nothing is added to your theme: no theme edits, no price rewriting, no cart hooks. Gift cards always keep their retail price on a level.

The level's page shows What gets written — a list of exactly these objects and rules — and the time and size of the last write. Beside the form, the panel turns into What happens on save while there are unsaved changes: it names each write the save will make and whether buyers see it at once or after a background write. Changing the percentage alone is a single price-list change (no product is rewritten), and rounding only applies to fixed prices (quantity-break variants and rows from a file). While prices are being written a banner shows how many variants are done so far; if a write fails or stops reporting progress, the banner offers Retry sync.

Percentage, fixed or leave as set

Each level sets its base price in one of three ways:

  • Percentage off retail — the price list takes a percentage off every product's retail price and follows retail when you change it. Choose a rounding: no rounding, round down to .95, or round to whole units. Currencies without decimals, such as JPY, always use whole units.
  • Fixed prices from a file — upload a CSV of SKUs and prices (see CSV format). Variants that are not in the file either get a percentage off retail or stay at retail; you choose which.
  • Leave prices as set in Shopify admin — the app only attaches buyers to the catalog and writes nothing to its prices. Use this when you already maintain the price list yourself.

Changing the percentage or the rounding updates the price list straight away. Products that have quantity breaks carry a fixed price (a Shopify rule), so after such a change the app writes those products' prices again; the banner on the level shows the progress.

CSV format

The file needs a header row. Two columns are required, and up to ten pairs of break columns are optional:

  • sku — the variant SKU, exactly as in Shopify.
  • price — the fixed price per unit, in your store currency, as a number with up to two decimals (for example 12.50).
  • break_qty_1 and break_price_1 up to break_qty_10 and break_price_10 — optional quantity breaks for that SKU. A break quantity is a whole number of 2 or more, and each break quantity must be higher than the one before.

Commas or semicolons both work as the separator. With semicolons, a decimal comma (12,50) is accepted too. Quoted fields are fine. If a SKU appears twice, the later row is used and the page warns you.

Example:

sku,price,break_qty_1,break_price_1,break_qty_2,break_price_2
CLOTH-40,30.00,12,28.50,48,27.00
SPRAY-1L,8.40,,,,

A file can have up to 20,000 rows and be up to 4 MB. When you choose a file, the page counts its rows and SKUs and lists any problems with their line numbers before anything is saved. Nothing is written until the file has no errors and you save.

Quantity breaks and rules

Quantity breaks give an extra discount when a buyer orders more of one variant. Add up to 10 tiers (Shopify's limit per product), each with a starting quantity and an extra percentage off the base price. The page shows an example price per tier for a retail price you choose, and a preview of the table a buyer sees.

Shopify only allows breaks on a fixed base price. On a percentage level the app therefore writes a fixed price, computed from the percentage, for each product the breaks apply to; those products no longer follow retail automatically, and the app writes them again when you change the percentage. On a level that leaves prices as set in Shopify admin there are no breaks, only quantity rules.

Quantity rules set a minimum per variant, a step (“sold in multiples of”) and a maximum per order. Shopify enforces them in the cart and at checkout and shows them on the quantity field.

Breaks and rules share one scope: all products, chosen collections, chosen products, or (on a fixed-price level) the SKUs in your file. Without breaks, the rules apply to all products. Products outside the scope keep the base price only.

The tier table and the quantity rules are rendered by your theme. Shopify's current theme generations, such as Dawn and Horizon, show them on the product page for B2B buyers.

Routes by plan and the three-level cap

  • Basic, Grow and Advanced: a level reaches buyers through its own B2B market. Shopify allows 3 active catalog assignments across B2B markets on these plans, and B2B markets you created yourself count towards the three. The Price levels page shows how many are in use. When all three are in use, you can still create a level: it is saved as Blocked by plan cap and nothing is created in Shopify until a slot is free, then Retry on the level creates it. The app never assigns a level the plan cannot show to the buyer.
  • Shopify Plus: each level is a catalog assigned directly to the buyer's company location, with no limit on the number of levels.

A company location in two B2B markets at once loses its quantity rules in Shopify, so keep each buyer on one level.

To delete a level, open it and choose Delete price level. This removes its catalog, price list and B2B market from Shopify. While company locations are still on the level, the app refuses and asks you to move them to another level first.

Which level a new buyer gets

Choose a Default price level under Settings → B2B Company. When you approve an application and the app creates the company, its location is placed on that level, so the buyer sees the level's prices and quantity rules from the first login. Only levels that are live in Shopify can be picked; the select appears once your first level is.

An approval profile, or the catalog or B2B market you pick on the Approve page, still wins over the default: an explicit choice comes first, then the profile, then the default level.

If the default level is deleted, the B2B Company page warns you and approved companies get no price level until you pick another one.

Uninstalling

If you uninstall B2B Onboard, the catalogs, price lists, prices, quantity breaks and rules, payment terms and companies stay in Shopify exactly as they are. Your buyers keep their prices; nothing is rolled back. You can edit or delete these objects in Shopify admin afterwards.