Introduction
"We want to sell to business partners at member pricing, but upgrading to a premium plan just for that doesn't make financial sense." Start thinking about B2B (business/dealer) support on an EC site, and you usually land on this exact dilemma. On top of that, discount rates differ by partner, and many of them expect to pay by invoice rather than credit card — the conditions are simply more complex than regular retail.
This article walks through the overall design of a system that delivers automatic B2B discounts and invoice payment on the standard Shopify plan, built for a Shopify + headless EC site (one where the storefront pages are custom-built with Next.js or similar). By the end, you should have a clear picture of which parts combine to make this work.
Three Things B2B Support Requires
Discount Pricing Based on the Relationship
In B2B transactions, partners buy at wholesale prices tied to their volume and contract terms rather than the regular price. One partner gets 35% off, another gets 25% off — different rates per relationship are the norm. The first requirement was making this price differentiation happen automatically, triggered by nothing more than logging in.
Different Rates per Product Category
Even a single partner may have different rates depending on the product category: 35% off standard-category items, 25% off premium-category items, and so on. When a cart mixes categories, each item needs its correct rate applied. Doing that math by hand would guarantee mistakes eventually, so this too had to be automated.
Invoice Payment (Net Terms)
In B2B, "bill us at the end of the month" is a standard request. Separate from the usual EC checkout flow, we needed a path that records the order as a reference document and lets staff issue an invoice afterward.
The Overall Structure and Division of Roles
Here is the full picture of the system.
- Tag customers (standard-35, etc.) / 2. Create customer segments / 3. Create target collections / 4. Create coupons
- Fetch tags on login / 6. Show member pricing / 7. Auto-apply coupons / 8. Handle invoice payment
In one sentence: Shopify's settings own the question of "who gets how much off," and the website merely reads those settings to display and apply the discounts.
Keep a Single Source of Price
One design premise: each product has exactly one price — the regular one. If you create separate cheaper products for B2B, every corner of inventory and order management ends up asking "which price is this?", and sooner or later the numbers drift apart. Member pricing is instead expressed as "the regular price with a discount layered on top." That principle is the backbone of the whole design.
The Core Idea — Tag Names Match Coupon Names
Embed the Discount Rate in the Tag
B2B users receive a Shopify customer tag (a label attached to a customer record) in the format "category-rate."
The tag name itself tells you the rate. The website only has to read the tag to know "this user buys standard-category items at 35% off."
Create Coupons with the Exact Same Names
Then the coupons (discount codes) that perform the actual discounting are created with names identical to the tags.
At checkout, the website simply applies the user's tag name as a coupon code. Because tags and coupons are linked by name alone, the program never needs its own lookup table.
What This Makes Easier
Adding a new discount pattern means adding a tag and a coupon in the Shopify admin — no code changes, no requests to engineers. Changing a rate means updating the matching numbers on the tag and coupon. Day-to-day operation lives entirely inside the Shopify admin screen, which is the single biggest win of this design.
Constraints Unique to Headless Setups
B2B Apps Don't Work As-Is
With a regular Shopify theme, installing a B2B app is enough to get member pricing. In a headless setup, though, the storefront lives outside Shopify (in Next.js, for example), so features an app injects into the theme simply never appear. Price display and discount application both had to be assembled ourselves.
Avoiding Shopify Plus
Shopify's official B2B feature is only available on Shopify Plus, which starts around $2,000 per month — a heavy load for small and mid-sized stores. This system recreates the same experience using only customer tags, segments, and coupons, all present on the standard plan. Once the overall design was pinned down, much of the finer implementation work could be delegated to an AI agent (AI-assisted development) along the way.
What the System Delivers
Automatic Discounts Across Categories
From the moment a user logs in, member pricing shows automatically — no coupon codes to type, ever. A cart holding both standard-category items (35% off) and premium-category items (25% off) gets each rate applied correctly.
Invoice Payment and Priority Control
Alongside credit card checkout, orders can be placed as invoice payment using Shopify's draft order feature (a saved order awaiting confirmation), with the invoice issued afterward. And when multiple discount rules could apply to the same product, priority settings decide which one wins.
Next Steps
The system stands on two legs: Shopify configuration and the website-side implementation. The following articles cover each in order.