LUCENTCOMMERCEGET A FREE STORE AUDITFREE AUDIT

B2B · WHOLESALE · SHOPIFY PLUS · 26 AUGUST 2025 · 9 MIN READ

Price lists, quotes and net terms for B2B buyers

Shopify B2B models the things wholesale actually runs on — company accounts, contract pricing, minimums and payment terms. The gaps are in collection, not in catalogue.

A wholesale order form beside its negotiated price list

A B2B price list is a set of prices attached to a catalogue, and the catalogue is assigned to a company or to one of its locations. The price list either overrides the default price with a fixed amount per variant, or applies a percentage adjustment to it, and it works in a single currency. On top of that sit quantity rules — minimum, maximum and increment per order — and volume pricing, which gives a better unit price for larger quantities of the same product in one order. Payment terms are set separately, on the company or the location, and Shopify offers net 7, 15, 30, 45, 60 and 90 as well as due on fulfilment, a fixed date on draft orders, or immediate payment.

IN SHORT

  • The B2B model is company, location and contact: a company contains locations and contacts, and a contact is associated with an underlying retail customer record.
  • Catalogues determine which products and prices a B2B customer sees, and are assigned to companies and their locations.
  • A price list overrides default prices with either fixed prices or percentage-based adjustments, and operates in one currency.
  • When several catalogues price the same product, Shopify displays the lowest of those prices to the customer — which is how unintended discounts happen.
  • Basic, Grow and Advanced plans allow up to three active catalogues across all B2B markets; Shopify Plus allows unlimited catalogues assigned directly to companies and locations.
  • Shopify does not auto-capture when a payment term expires — the merchant charges the saved card or records the payment manually, so terms are an operations commitment as much as a setting.

The object model, once, so the rest makes sense

Shopify B2B is built from four things, and almost every configuration question resolves to which of the four something belongs to.

A company is, in Shopify’s words, the business entity that makes a B2B purchase; it contains locations and contacts. A company location is the branch that actually orders — it carries its own billing and shipping addresses, its tax exemptions, its payment terms and its assigned catalogues. A company contact is a person acting on behalf of the company, and is associated with a retail customer record underneath, which is why a buyer can exist as both a business contact and an ordinary customer. A catalogue determines the products and pricing that customer can access, and the price list is what lives inside it.

The practical consequence is that almost nothing is set on the buyer. Pricing, terms and product availability all hang off the location. A wholesale customer with three branches on different terms and different price bands is three locations under one company, and that is the correct shape rather than a workaround.

Two ways to price, and they are not interchangeable

A price list overrides default product prices with either fixed prices or a percentage-based adjustment, in a single currency. Choosing between them is the decision that determines how much maintenance the programme costs you for the rest of its life.

Percentage adjustment is a rule: this catalogue is your retail price less a set percentage. It survives every price change you make to the catalogue automatically, because it is derived rather than stored. If your commercial arrangement genuinely is “tier two gets 40% off list”, use it and stop there.

Fixed prices are per variant, and they are the honest answer when the arrangement is not a single percentage — negotiated lines, prices that hold through a retail promotion, a distributor whose pricing bears no fixed relationship to your consumer price. They are also a data set somebody has to maintain. A price list with a few thousand fixed prices is a synchronisation problem, and it is the point at which the prices should be owned by whatever system your commercial team already negotiates in and pushed to Shopify, rather than typed into Shopify twice.

The two can be combined — a percentage baseline with specific fixed overrides — and that is usually the arrangement that survives contact with a real account manager. Decide it deliberately, though, because “mostly a percentage, except for a list nobody has written down” is how a B2B store ends up with prices nobody can explain.

The overlap rule that catches everyone

This one is worth putting on a wall. Shopify documents that if there are multiple catalogues and prices for a specific product, the lowest price displays to the customer.

That is a sensible default and a trap in equal measure. It means a promotional catalogue built for a seasonal push, left assigned to a location after the season, quietly becomes that customer’s permanent price. It means a market-level catalogue and a company-level catalogue interact, and the outcome is not “the most specific one wins” — it is the cheapest one. And it means the way to audit B2B pricing is not to read the catalogue you think applies, but to check what a buyer at that location actually sees.

Build the habit early: after any catalogue change, log in as a contact at a representative location and look at the prices. It takes two minutes and it is the only check that reflects the rule as implemented.

Quantity rules and volume pricing do different jobs

They get conflated in briefs constantly, and they solve opposite problems.

Quantity rules constrain how a product may be bought: a minimum, a maximum, and an increment per order. They are how you express “sold in cases of twelve” or “minimum order of fifty units”, and they are enforcement — the buyer cannot construct an order that breaks them. Rules can be defined on the price list itself, or inherited relative to the shop defaults, which means a case size can be a property of the product generally while a specific account carries a different minimum.

Volume pricing rewards scale: tiered pricing that gives a better unit price when the customer buys larger quantities of the same product in a single order. It is an incentive rather than a constraint.

Most wholesale arrangements want both, and want them to agree. A case size of twelve with volume breaks at ten and twenty-five is a specification that will generate support tickets, because the breaks are unreachable. Write the two side by side before configuring either.

Quotes are draft orders, and that is mostly good news

Shopify has no separate quoting module, and for most wholesale operations it does not need one — a quote is a draft order that has not been paid. The sales person builds the order in the admin with negotiated line prices, sends it to the buyer, and the buyer pays it. The fixed-date payment term is available on draft orders specifically, which is the mechanism for “due on the first of next month” arrangements agreed case by case.

What you give up is the paperwork around a quote that a dedicated quoting system provides: version history, expiry dates, approval chains, and a document the buyer’s procurement team can file. If your sales cycle involves a buyer circulating a PDF internally for sign-off, that is a real gap and it is worth deciding where it lives — an app, the ERP, or a document generated from the draft order — rather than discovering it after launch.

Worth knowing in the same breath: if any part of your B2B offer is a standing or recurring order, subscriptions and draft orders do not combine. Shopify documents that subscriptions cannot be used with draft orders, so a sales-assisted recurring arrangement needs its own design rather than an assumption that the two features compose.

Net terms are an operations commitment, not a setting

Shopify’s payment terms are comprehensive on the configuration side. Net 7, 15, 30, 45, 60 and 90 are available, with all periods starting when the order is placed; there is also due on fulfilment, fixed date on draft orders, and immediate payment. Terms can be set for a whole company or per location, with the location overriding the company default, and they can be applied to several companies at once. Through the API the same thing appears as a PaymentTermsTemplate carrying a paymentTermsTypeNET, FIXED, RECEIPT, FULFILLMENT — and a dueInDays, assigned through the buyer experience configuration.

The part that surprises merchants is what happens at the end of the term. Shopify does not auto-capture. An order shows as partially paid when a deposit has been captured, payment pending when a deposit came through a manual method awaiting recording, and overdue once the term has expired — and at that point a human charges the saved card or records the bank transfer. The buyer can pay early by logging into their account and choosing Pay now, but nothing happens automatically on day thirty-one.

That is a defensible design, since chasing a business customer is a commercial act rather than a technical one. But it means offering net terms is a commitment to run a receivables process: someone reviews the overdue filter, someone chases, someone decides when to stop shipping. Stores that turn terms on because a large buyer asked, without agreeing who does that work, discover the answer several months later in the aged debt.

Two questions to settle before you enable terms. Where does the credit decision live — who approves a new account for net 60, on what basis, and how does that reach Shopify? And where is the source of truth for what is owed: if finance works in an ERP or an accounting system, the invoice and the receivable need to live there, with Shopify as the order system rather than the ledger.

What the plan actually changes

B2B is no longer a Plus-only proposition, but the ceiling differs in a way that matters. Shopify documents that Basic, Grow and Advanced plans support up to three active catalogues across all B2B markets, while Shopify Plus allows unlimited catalogues assigned directly to companies and locations.

Three catalogues is genuinely enough for a great many wholesale businesses. If your pricing is a small number of tiers — trade, distributor, key accounts — three is the shape of your commercial model, not a compromise. We would rather see a business start there and prove the channel than upgrade on the assumption it will need more.

The point at which the ceiling binds is account-specific pricing: a catalogue per customer, because every account negotiated its own terms. That is a real pattern in some industries and it is the honest trigger for Plus. It is also worth asking whether it is a pattern you want to keep — a hundred individually negotiated price lists is a maintenance burden whichever platform carries it.

What we would talk you out of

A separate wholesale store. It used to be the standard advice and it is now usually the expensive option: two stores means two catalogues of truth, two inventory positions to reconcile, two themes to maintain, and a customer who exists twice. Native B2B exists precisely so one store can serve both audiences.

A bespoke portal in front of Shopify. Occasionally justified — if your buyers place orders from their own purchasing system, the interesting work is an integration, not a front end — but more often it is a response to a gap that turns out to be a configuration question.

And a launch that waits for every account to be modelled. Take your ten largest buyers, configure their companies, locations, catalogues and terms properly, and get them ordering. The eleventh account will teach you something the specification would not have.

Questions this raises

How do B2B price lists work on Shopify?

A price list sits inside a catalogue and overrides default product prices with either fixed prices per variant or a percentage-based adjustment, in a single currency. The catalogue is then assigned to a company or a company location, and the contacts at that location see those prices when they log in.

What happens when two catalogues price the same product?

Shopify displays the lowest of the available prices to the customer. It is not the most specific catalogue that wins, so a promotional catalogue left assigned after a campaign becomes that account’s standing price. Audit by logging in as a contact at the location rather than by reading the catalogues.

What is the difference between quantity rules and volume pricing?

Quantity rules constrain the order — minimum, maximum and increment — and express things like case sizes and minimum order quantities. Volume pricing is an incentive, giving a better unit price for larger quantities of the same product in one order. Most wholesale arrangements need both, and the two need to be consistent with each other.

Which net terms does Shopify support?

Net 7, 15, 30, 45, 60 and 90, with the period starting when the order is placed, plus due on fulfilment, a fixed date on draft orders, and immediate payment. Terms are assigned to a company or to individual locations, where the location setting overrides the company default.

Does Shopify chase or collect an overdue B2B invoice automatically?

No. Orders move to overdue once the term expires, but there is no automatic capture — a person charges the saved card or records the manual payment in the admin. Buyers can pay early through their account. Offering terms therefore commits you to running a receivables process, not just to changing a setting.

Do I need Shopify Plus for B2B?

Not necessarily. Basic, Grow and Advanced support up to three active catalogues across all B2B markets, which covers a tiered pricing model. Plus allows unlimited catalogues assigned directly to companies and locations, which is what account-by-account negotiated pricing requires.

NEXT STEP

Free store audit

A senior Shopify engineer reviews your storefront, theme performance and checkout, then sends a prioritised list of fixes.