What Changed, and What It Broke
Two releases in 2026 rewrote this area from both ends. One added capability, the other removed it.
- Scripts stopped. Every published Script was deactivated on June 30, 2026, with the editor frozen since April 15. Tag-based and cart-level pricing rules stopped applying, silently.
- B2B opened up. Company profiles, catalogs, volume pricing, and net terms moved onto every paid plan in April 2026, so a lot of pricing that used to need code is now configuration.
- Functions replaced Scripts. They compile to WebAssembly and ship as apps rather than code in the admin, which is why plan tier now decides the delivery model.
- The gap moved. It is no longer between Plus and everyone else. It is between what a catalog can express and what it cannot.
If nobody has audited your pricing since June, start there rather than with a new mechanism.
Five Mechanisms and Where Each One Stops
Most stores end up using two of these together. The mistake is choosing the most powerful one first.
| Mechanism | What it handles well | The limit that bites first |
| B2B catalogs | Per company list prices and volume breaks | Three catalogs below Plus, assigned through Markets |
| Quantity rules inside a catalog | Price breaks by volume | Rules live per catalog, so tiers multiply catalogs |
| Discount Function in a custom app | The cart logic Scripts used to run | Custom apps with Function APIs need Plus |
| A public app containing a function | The same logic without Plus | You inherit somebody else’s roadmap |
| Prices pushed from an ERP | One source of truth for price | Sync frequency, and what happens when a price is wrong |
The second row surprises teams. Tiers are expressed inside a catalog, so four distinct price groups on a standard plan is already an architecture problem, not a settings problem.
What Canadian Pricing Has to Get Right
Four details that decide whether the numbers reconcile at quarter end.
- Tax follows the discount. GST, HST, and PST are calculated on the discounted amount, so a rule that stops firing changes tax collected, not just revenue. Reconcile any month where a rule changed.
- Exemption certificates. Exempt buyers still need that captured against the company record and reflected at checkout, not handled by a rep afterwards.
- Tax exclusive display. B2B prices are usually shown before tax. Confirm that your catalog, your quotes, and your invoices all agree on which.
- Dual currency. If distributors buy in USD, price, rounding, and the free freight threshold have to agree in both currencies.
Three of the four are configuration. The fourth is where custom logic usually turns out to be justified.
How to Choose Without Overbuilding
Work down this list and stop at the first line that covers your case.
- Count your real price groups. Not customer segments, price groups. Most brands discover they have fewer than they assumed.
- Try catalogs first. If the groups fit inside your catalog allowance, you are finished, and the work is a configuration project.
- Check the assignment rule. Below Plus a catalog attaches through Markets, not to a buyer. If you need per buyer assignment, that is the upgrade trigger.
- Only then consider a Function. A Function is for conditional logic a price list cannot state, not for a price list with more rows.
- Ask where the price is authored. If sales negotiates prices in an ERP, the mechanism question is secondary to the sync question.
The last line reverses the project for many wholesalers. When the ERP owns price, Shopify displays a number rather than calculating one.
Working with Binary Future on Pricing Architecture
Binary Future is a Shopify Plus Partner agency in Toronto. We start by counting price groups and testing whether native catalogs cover them, because the cheapest pricing architecture has the least logic in it.
Where custom logic is genuinely needed, we confirm your plan tier first, since a Function inside a custom app and a Function inside a public app are different projects with different costs.
See our B2B Shopify development and Shopify Plus development for how we handle wholesale pricing.
