Planning a Shopify Plus Migration for a High-Revenue Store

Older Shopify Plus migration plans sometimes carried a line that read something like “tiered pricing: handle with Scripts”. That line no longer describes a working option. Shopify’s Help Center states that Shopify Scripts have been deprecated, that any Scripts still published on a store were deactivated, and that Shopify Functions are the route for recreating those customisations. A wholesale tier structure, a bundle rule or a customer-specific discount that was going to ride on Scripts now needs a different home.

Planning a Shopify Plus migration for a high-revenue store is therefore less about moving data than about deciding where every pricing rule and every integration will live once the store is on Shopify. Native B2B catalogs, volume pricing and quantity rules may cover much of the logic, while custom Shopify Functions, the ERP or middleware carry the rest. Once those homes are agreed, data migration, theme work and launch planning tend to become far more predictable. And if the pricing fits native features on a lower plan, Plus may not be needed at all.

Where Complex Pricing Lives After a Shopify Plus Migration

On a long-running legacy platform, complex pricing often accumulates in several places: a customer-group price table, a promotions engine, a custom module for one large account, and a sales team’s quoting spreadsheet. Shopify spreads the same responsibilities across a few distinct mechanisms, each with its own precedence rules. The planning task is to assign every existing rule to one of them deliberately, rather than discovering mismatches during acceptance testing.

Catalogs decide which buyers see which products at which price

Shopify’s documentation on B2B catalogs describes them as the mechanism that determines the products and pricing B2B customers can access. A catalog can raise or lower all its prices by an overall adjustment, individual products can be given fixed prices that override it, and several catalogs can be assigned to the same company or company location.

The detail that tends to matter most is precedence. When several catalogs and prices apply to the same product, Shopify shows the customer the lowest one. Some legacy setups work the other way, with a negotiated contract price deliberately overriding a cheaper general promotion. If a key account’s agreed price is higher than the standard trade price on a few SKUs, assigning both catalogs to that account would display the cheaper figure. The fix is usually structural: designing catalogs so each account receives one coherent price set.

Volume pricing and quantity rules absorb some discount logic, with a catch

Price breaks by quantity, minimum and maximum order quantities and pack increments are native B2B features. Shopify’s guidance on volume pricing and quantity rules allows up to 10 price breaks per product, applied to each variant, and notes that once volume pricing is applied, the product’s price becomes fixed and the catalog’s overall adjustment no longer applies to it.

In an illustrative trade catalog with a 15% discount at catalog level, the quantity breaks on discounted products therefore have to be entered with that discount already built in. The arithmetic is simple, but it multiplies across catalogs and products, and it is far cheaper to settle in a planning spreadsheet than in the admin a week before launch.

Rules that fit neither move to Shopify Functions

Some rules will not fit native features: a discount that depends on the combination of products in the cart, a payment method hidden from certain buyer types, or a delivery option renamed by region. Shopify Functions are the mechanism for that kind of backend logic, and one plan detail shapes the build decision. Stores on any plan can use public App Store apps that contain functions, but only Shopify Plus stores can use custom apps that contain Function APIs. For a business whose pricing needs its own code, that restriction is often one of the more concrete reasons to be on Plus.

Before assigning rules to any of these mechanisms, it helps to record each one with enough detail to place it:

  • Who it applies to: a customer group, a single account, a country or every visitor. The audience largely decides whether the rule belongs in a catalog, a discount or custom code.
  • What triggers it, such as quantity, cart contents, order value or contract dates. Triggers based on cart combinations usually point towards Shopify Functions rather than catalogs.
  • Which system owns the price today, whether the platform, the ERP or a sales spreadsheet, so the integration design knows where the authoritative number comes from.
  • How it interacts with other rules, including whether it stacks with promotions, since Shopify’s precedence may differ from the old platform’s.
  • How much revenue passes through it, so effort goes first to the rules behind the largest accounts and volumes.

Is Shopify Plus Required, or Could Advanced Be Enough?

Complex pricing does not automatically mean Plus. Shopify’s B2B features now reach lower plans: Basic, Grow and Advanced allow up to three active catalogs across all B2B markets, while Plus allows an unlimited number. Shopify’s B2B plan comparison lists companies, quantity rules, price breaks and net payment terms among the features available across plans.

The same comparison shows what stays exclusive. Direct catalog assignment to a specific company is not available below Plus, and deposit requirements, partial payments and payment requests per fulfilment are Plus-only. A wholesale operation with a handful of stable trade tiers might run comfortably within three catalogs, while one with dozens of negotiated account prices is likely to reach the Plus boundary quickly. The broader commercial comparison is covered in our guide to Shopify vs Shopify Plus for a migration; the planning point is to count the catalogs and payment flows the business genuinely needs before signing a Plus contract, not after.

RequirementWhere it usually lives on ShopifyPlan implicationQuestion to settle in planning
A few stable trade tiersB2B catalogs with an overall adjustmentFits within three active catalogs below PlusWill new tiers be added as the business grows?
Negotiated prices for key accountsCatalogs assigned directly to each companyRequires PlusHow many accounts have genuinely unique prices?
Quantity breaks and pack sizesVolume pricing and quantity rulesAvailable across plansAre breaks set before or after the trade discount?
Cart-dependent discounts, conditional payment or delivery optionsShopify Functions, via a public or custom appCustom function apps require PlusCan an App Store app cover it, or is the rule unique?
Deposits or partial payments on large ordersNative B2B payment optionsRequires PlusWhich order types need it, and who reconciles it?
Prices calculated in the ERPIntegration publishing prices into catalogsThroughput depends on API limits by planHow often do prices change, and across how many SKUs?

The table rarely produces a unanimous answer. A business may find that four of its six requirements sit comfortably on Advanced and two need Plus. That turns the plan decision into a question about the value of those two requirements, rather than a general sense that a large store belongs on the enterprise tier.

Integration Planning for a Shopify Plus Migration

Integrations are the second area where high-revenue migrations are often underestimated, because each connection to the ERP, warehouse, accounting platform or CRM was built around the old platform’s data model and timing.

Decide which system owns each piece of data

Shopify’s enterprise guide on when to use an ERP, Shopify or both frames the split usefully: an ERP can provide the system of record for inventory and financial management, while Shopify runs the selling side, including storefront, checkout and B2B workflows. BigCommerce’s overview of ERP integrations for B2B brands makes a related point from another platform’s perspective, describing the ERP as the place that controls back-office logic, including contract pricing and approval levels.

Ownership has practical consequences. If the ERP owns contract prices, the Shopify catalogs become a published copy, and staff should avoid editing those prices in the admin because the next sync may overwrite them. Unclear ownership tends to surface as prices that change back overnight, which confuses buyers and is hard to trace afterwards.

Test throughput against peak load, not an average day

The plan also affects how much data an integration can move. Shopify’s documentation on GraphQL Admin API rate limits lists 100 points per second for standard plans, 200 for Advanced and 1,000 for Shopify Plus, and notes that bulk operations for large data volumes do not carry the per-query limits of single queries. For a nightly price update across tens of thousands of product and catalog combinations, that difference may decide whether the job finishes overnight or is still running when trading starts. The realistic test is the heaviest moment: a full seasonal price change, stock updates during a promotion, or order exports after a peak weekend.

Choose a connection method per system, with failure handling

Shopify’s ERP guide describes three broad routes: certified connector apps with documented sync behaviour, middleware platforms, and custom API-led architecture, which it acknowledges is more expensive but may be needed to fill gaps, particularly with less widely used software. One migration frequently combines them. Whichever mix is chosen, each route needs designed failure handling: what happens to an order when the ERP is unreachable, who is alerted, and how the record is replayed.

One Store, Shopify Markets or Expansion Stores

International and multi-brand businesses face a structural choice early in a Shopify Plus migration. Shopify Markets lets one store sell into several countries with market-specific currencies and pricing. Plus adds the option of separate stores: Shopify’s Plus pricing page states that the main store and nine expansion stores are included in the monthly platform fee, with further stores at extra cost or on a revenue share.

Separate stores give each region or brand its own catalog, apps, theme and team. The cost is duplication: product updates, integrations and theme changes may need maintaining several times over, and reporting has to be consolidated. Choose expansion stores when markets genuinely differ in assortment, legal entity or operating team; keep one store when the differences are mostly currency, language and price.

What One WD Market Project Shows About Undocumented Pricing

Pricing logic that has never been written down is difficult to migrate, whatever the destination platform. WD Market’s work with AM Ozoli was not a Shopify project, but it illustrates a precondition that often applies to one. The case study describes a B2B business whose critical data was scattered across 15+ disconnected Excel files and whose pricing knowledge sat with a handful of key employees rather than in any system. Before any system could enforce those rules, they had to become an explicit structure: a tiered B2B pricing matrix with automated margin-protection rules.

For a Plus migration, the lesson concerns sequence. Where price logic lives in people and spreadsheets, documenting it becomes the first deliverable, and it may take longer than expected because exceptions surface one conversation at a time. Building the store before that work is finished usually means rebuilding catalogs later.

A Planning Sequence for a High-Revenue Shopify Plus Migration

  1. Inventory pricing rules and payment flows. Record each rule’s audience, trigger, owner and revenue weight; every later decision, including the plan tier, depends on it.
  2. Map each rule to a Shopify mechanism. Assign it to a catalog, volume pricing, a discount, a function or the ERP, and flag rules that fit nowhere yet. Those are the clearest early indicator of custom development cost.
  3. Confirm the plan and store structure. With the map complete, choose between Advanced and Plus, and between one store and several, so the business neither pays for unused capabilities nor finds a missing one mid-build.
  4. Design integrations around data ownership. Define which system writes each field, how often it syncs, how it connects and how failures are handled, then check peak throughput against the plan’s API limits.
  5. Rebuild pricing for real accounts and compare. Recreate a sample of actual key accounts, awkward exceptions included, and compare the prices they would see with the old platform line by line.
  6. Move data in a controlled order. Bring across the catalog, then companies and customers, then any order history, reconciling record counts and catalog assignments against the source at each stage.
  7. Launch with owners on hand. Keep the pricing and integration owners available for the first trading weeks, review sync errors and price queries daily, and agree in advance what would trigger a rollback.

Key takeaway: on a high-revenue store, the Shopify Plus contract is one of the later decisions in a well-planned migration. The pricing map and the data-ownership model come first, because together they determine whether Plus is needed and what the build will cost.

Mistakes That Make a Plus Migration More Expensive

  • Recreating every legacy rule as custom code. Rebuilding old logic line by line can carry technical debt onto the new platform, when some rules may be better served by native catalogs or retired.
  • Layering catalogs without checking precedence. Because the cheapest applicable price wins, overlapping catalogs can quietly undercut negotiated prices until an account manager spots it on an order.
  • Letting two systems write the same price. A scheduled sync may then reverse a deliberate change, and the team loses confidence in what buyers are seeing.
  • Choosing the plan before the requirements. Signing for Plus before the pricing map exists can mean paying for unused capabilities, while committing to a lower plan too early can leave a required feature out of reach.

Deciding Where Each Rule Will Live

A Shopify Plus migration for a store with complex pricing largely succeeds or struggles on decisions made before development starts. Each pricing rule needs a deliberate home in catalogs, volume pricing, Shopify Functions or the ERP, and that map is what shows whether Plus is actually required. Integration ownership and peak throughput deserve the same early attention. When those two pieces of planning come first, the plan choice, store structure and build estimate follow from them instead of driving them.

From Pricing Map to a Costed Shopify Plus Plan

Once the pricing rules and connected systems are documented, the next step is testing them against Shopify’s mechanisms and plan limits. WD Market’s Shopify migration feasibility assessment is built for that comparison. It sets the store’s current logic against Shopify’s limitations and viable workarounds, separates Shopify from Shopify Plus requirements, and includes cost calculations across platform, apps and development, followed by an app and integration strategy for the systems that stay. It is also where we evaluate whether Plus is truly needed. Where the larger gap is the ERP connection rather than the platform, our ERP and CRM integration service may be the more useful starting point.

If it would help to review a specific pricing model and system landscape together, get in touch through our contact page and outline the current platform and the systems connected to it. Shorter observations on B2B pricing, integrations and replatforming are shared regularly on the WD Market LinkedIn page.

Internal expert input required: confirm which ERP connectors or middleware WD Market typically recommends on Shopify Plus B2B projects, and whether a completed Shopify Plus migration with B2B pricing can be referenced as a case study.

Shopify Plus Migration Questions

Can we keep using Shopify Scripts after moving to Plus?

No. Scripts are no longer supported, and published Scripts have been switched off. Logic that used to run as Scripts, such as tiered discounts or conditional payment and delivery options, now has to be rebuilt with Shopify Functions, replaced with native features such as B2B catalogs and volume pricing, or dropped. Reviewing each old Script before rebuilding it is worthwhile, because some may cover promotions or exceptions the business no longer needs.

Do we need Shopify Plus to sell B2B on Shopify?

Not necessarily. The core B2B toolkit, including company profiles, minimum order rules, tiered quantity pricing and invoice payment terms, is not limited to Plus, so a wholesale operation with a small number of trade tiers may run well on Advanced. Plus becomes relevant when the number of distinct price sets, the payment arrangements needed for large orders or the amount of custom-coded pricing logic go beyond what the lower plans support. Listing those requirements first usually gives a clearer answer than revenue alone.

Should contract prices be managed in Shopify or in the ERP?

It depends on where pricing decisions are made. When finance or sales already set contract prices in the ERP, keeping the ERP as the authoritative source and publishing those prices into Shopify avoids two competing versions. When pricing is mainly promotional and decided by the ecommerce team, managing it in Shopify can be simpler. What matters is that each price field has a single owner, so an automated sync does not overwrite a deliberate change made in the other system.

Is one store with Shopify Markets better than several expansion stores?

A single store is usually easier to run when the differences between countries come down to currencies, translations and price levels, because products, apps and integrations are then maintained once. Separate expansion stores suit regions or brands with distinct ranges, legal entities or local teams that need independent control. The trade-off is ongoing maintenance: each extra store may need its own catalog updates, app settings and integration connections, and cross-store reporting has to be combined.