
Shopify Plus added B2B features in 2022 — company profiles, price lists, payment terms, and wholesale catalogues. For businesses with simple B2B needs (a wholesale channel alongside D2C with one or two price tiers), it works. For businesses where pricing is the product — where the rate a customer pays depends on their contract, their volume, their account type, their region, and sometimes the time of year — it breaks.
This is not a Shopify-bashing post. Shopify Plus is a strong platform for the use case it was designed for. But B2B pricing at scale was not that use case, and the gap between what Shopify offers and what B2B businesses need creates real operational cost.
What does Shopify Plus actually offer for B2B pricing?
Shopify Plus gives B2B merchants three pricing mechanisms: price lists, company profiles, and catalogues. Price lists let you set fixed prices or percentage discounts per product for a group of customers. Company profiles attach a customer to a company with a location, payment terms, and tax exemptions. Catalogues assign a price list to a company profile so that company sees specific prices when they log in.
That model works if your pricing is: a base price, a small number of fixed percentage discounts for different customer groups, and maybe a few products with specific prices for specific accounts. It covers a wholesale channel where Tier A gets 30% off and Tier B gets 20% off.
It does not cover what most B2B businesses with 200+ accounts actually need.
Where does Shopify Plus B2B pricing fail?
Contract-based pricing with per-SKU rates. In B2B, a contract often specifies the exact price for each product or product category for that customer. Not a percentage discount — a negotiated dollar amount. A distributor with 5,000 SKUs and 200 accounts may have 50,000+ unique price points. Shopify's price list model requires creating and maintaining a separate price list for each customer, each with individually set prices. At scale, this is a data management problem that Shopify's admin was not designed to handle.
Volume-based pricing that changes per customer. Buy 100 units, pay $12. Buy 500, pay $10.50. Buy 1,000, pay $9. That is standard volume pricing — and Shopify does not support it natively. The common workaround is a third-party app or a custom Shopify Function that intercepts the cart and adjusts pricing. But when the volume tiers also differ by customer (Customer A gets different breakpoints than Customer B because their contract was negotiated separately), the workaround becomes a custom pricing engine running alongside Shopify — at which point you are maintaining two systems.
Account-based catalogue visibility. Some B2B businesses need different customers to see different products entirely. A regional distributor sees the products available in their territory. A specialised reseller sees only the product lines they are authorised to carry. Shopify's catalogue feature handles basic product visibility per company, but combining catalogue restrictions with custom pricing and custom payment terms per account pushes beyond what the system can manage without significant custom development.
Real-time ERP price sync. When the ERP is the source of truth for pricing (as it is in most manufacturing and distribution businesses), prices need to flow from the ERP to the storefront in real time — or at least within minutes. Shopify's API rate limits make real-time price sync difficult for large catalogues. A nightly batch update is the common compromise, which means the storefront shows yesterday's prices. For commodity products where prices move daily, this is a dealbreaker.
Complex payment terms. Shopify Plus supports Net 15, 30, 60, and 90 payment terms — which covers the basics. It does not support: credit limits per account, payment terms that vary by product category within the same order, split invoicing (part of the order on net terms, part prepaid), or dynamic terms based on account standing. These are standard requirements for distributors, manufacturers, and building materials companies.
What does a B2B pricing engine actually need to do?
A pricing engine for a B2B eCommerce platform resolves the correct price for a specific product, for a specific customer, at a specific quantity, at the moment of cart calculation. That resolution may involve:
- Check the customer's contract for a SKU-specific negotiated price
- If no contract price exists, check the customer's tier for a category-level discount
- Apply volume breakpoints based on the customer's contract (not a universal tier)
- Check for active promotions or seasonal adjustments
- Apply regional tax rules and currency conversion
- Return the final unit price in under 200 milliseconds
That is a waterfall with six potential overrides. It has to execute fast enough that the buyer does not notice any delay on the product page or in the cart. And it has to stay in sync with the ERP, which is where the contract and tier data lives.
In B2B platforms Madgeek has built — including a B2B steel trading platform where prices fluctuated daily and buyer accounts had individually negotiated rates — the pricing engine is the most complex component. It runs 70% of the business logic. Trying to bolt this onto Shopify through apps and functions is like running a manufacturing ERP on spreadsheets: it works until it does not, and when it breaks, it breaks in ways that cost you money.
How do you know when to leave Shopify Plus for B2B?
Three signals that the platform has hit its ceiling:
Your sales team is quoting prices offline. The whole point of a B2B eCommerce platform is to let buyers self-serve. If your sales reps are sending pricing over email because the website cannot show the correct price for that account, the platform is not doing its job. This happens when the pricing logic exceeds what Shopify can display — the catalogue shows a base price, but the buyer's actual price requires a phone call. That is not eCommerce. That is a digital brochure.
You are spending more on workarounds than the platform costs. Add up the cost: Shopify Plus subscription ($2,300/month), B2B pricing app ($200–$500/month), custom Shopify Functions development ($5,000–$15,000 to build, $1,000–$3,000/month to maintain), middleware for ERP sync ($500–$2,000/month), and the developer time spent debugging when the pieces do not talk to each other. If the total exceeds $5,000/month in platform and workaround costs, a custom build starts to make financial sense.
Your pricing errors are costing you deals or margin. When a buyer logs in and sees a price that does not match their contract, trust erodes. When a volume discount does not apply correctly in the cart, the buyer calls your sales team — which defeats the purpose of self-service. When a pricing sync fails and a product shows the wrong price for six hours, you either honour the wrong price or create a customer service problem. These are not edge cases in B2B. They are Tuesday.
What does the alternative look like?
A custom B2B eCommerce platform with a purpose-built pricing engine is not a website project. It is a business systems project. The pricing engine is the core — it touches every page, every cart calculation, every invoice, and every ERP sync. The storefront is the interface. Getting the pricing engine right is 60% of the build.
The build typically costs $100,000–$200,000 for a B2B platform with a contract-based pricing engine, account management, and one ERP integration. Ongoing costs are $3,000–$5,000/month for hosting, support, and feature development. The break-even against Shopify Plus + workaround costs is usually 12–18 months — faster if the workaround stack was already expensive.
For a detailed look at how custom B2B platforms handle pricing, catalogue visibility, and account management, see Custom B2B eCommerce Platform Development. For businesses evaluating whether to extend Shopify or replace it entirely, Custom eCommerce vs Shopify Plus covers the full decision framework.
Written by
Abhijit Das
CEO
Building AI tools for businesses from legacy to new age SaaS startups
LinkedIn ↗Building something complex?
Start a project with Madgeek