Build vs. Buy>B2B & Wholesale>Catalogs & price lists

Should You Build or Buy B2B Catalogs & Price Lists on Shopify?

Written by Deploi EditorialReviewed by Martin Dejnicki, Director of SEO & AI SearchUpdated August 2026Pricing verified July 2026 (research corpus; re-verify)

B2B catalogs and price lists are a customize call at mid-market scale: native catalogs (on every paid plan since April 2, 2026) hold the prices, and the 3-catalog system-wide cap below Plus is the number that decides how far native alone goes. Under three price tiers, wait and use what's included. At thousands of SKU-customer prices, usually ERP-fed, generate catalogs via the API instead of renting a parallel pricing app.

Your profile — see how the verdict shifts

VerdictCUSTOMIZE on native catalogs at scale · WAIT while three price lists cover you
Buy score
4.7
Build score
7.6
Confidence
MediumThe cap boundary is crisp, but the native frontier is only four months old and at-scale behavior past roughly 500 accounts is still being community-mapped
Reference scenario
$20M–$100M GMV · hundreds of wholesale accounts · ERP price master · Plus
As of
August 2026

Decision at a Glance

Your profileVerdictWhy
Up to 3 price lists (any paid plan)WAITNative catalogs cover a tiered program (think gold, silver, bronze) on every paid plan since April 2026, with volume breaks and net terms included. Spend nothing here; configuration is the whole job.
4+ price lists below PlusDEPENDSThe 3-catalog cap is system-wide, so something gives: collapse accounts into three tiers, buy an app to carry the extra lists, or price the Plus upgrade. Run all three as one spreadsheet before choosing.
Dozens of price lists on PlusCUSTOMIZEPlus clears the cap but not the admin labor; past a few dozen catalogs, hand-editing prices stops scaling. API automation against your price source becomes the real work, and it's bounded.
Thousands of SKU-customer prices, ERP-masteredCUSTOMIZEThis is a pricing engine, not a settings page: catalogs generated from the ERP, Functions for rules price lists can't express, and an audit trail finance signs. An app at this scale becomes a second price database to reconcile.

What Catalogs & price lists Actually Drives

OutcomeImpactHow it works
Operational efficiencyHighA generated catalog turns thousands of contract prices into one feed with a reconcile report, replacing re-keyed spreadsheets and the pricing-error tickets they create.
Data & insightHighPrice lists mastered in the ERP and projected into Shopify stay queryable first-party data for margin analysis, quote automation, and whatever agentic ordering surfaces read next.
Revenue — directMediumAccurate per-account prices let wholesale buyers self-serve reorders at contract terms instead of stalling into email threads and hand-built draft orders.
Customer experienceMediumB2B buyers judge a portal on whether the on-screen price matches their contract, and server-side catalog pricing makes that match hold on every logged-in view.
Retention & LTVMediumA portal that always shows the negotiated price gives buyers a reason to keep ordering there rather than drifting back to phone and email orders.

Spend ceiling: Shopify now prices the checkout, so size spend to the price-data plumbing: the feed, the reconcile, the audit trail. If a quote is mostly portal widgets and a parallel price database, you'd be paying again for the part that's included.

What buying enables (top apps)

  • + Live in days: price lists, quick order, and a wholesale portal with vendor-maintained UI
  • + Real coverage for named native gaps: quoting and RFQ flows, registration approval, buyer-side order edits
  • + A path past the 3-catalog cap below Plus without paying for the upgrade
  • + A vendor tracking Shopify's fast-moving B2B releases so your wholesale stack keeps current without roadmap time

What building additionally unlocks

  • + ERP-mastered pricing projected straight into native catalogs: thousands of SKU-customer prices maintained by feed, with no parallel price database to reconcile
  • + Rules price lists can't express, run server-side with Functions: contract-specific logic, order-size conditions, campaign exceptions
  • + An audit trail finance can sign: every published price traceable to a contract line in the source system
  • + Flat economics at scale: no per-account or per-SKU tier creep as the wholesale book grows

Find Your Verdict in 3 Questions

  1. Can three price lists express your whole wholesale program, like gold, silver, and bronze tiers?

    Yes: Your verdict: WAIT — native catalogs cover it on your current plan; configuration is the whole job.

    No: Go to question 2.

  2. Are prices negotiated per account or mastered in an ERP, creating hundreds or thousands of SKU-customer combinations?

    Yes: Go to question 3.

    No: Your verdict: DEPENDS — on Plus, hand-managed catalogs cover this; below Plus, price the upgrade against a B2B app, because the 3-catalog cap forces one of them.

  3. Do you have dev capacity, agency or in-house, for a catalog-automation build?

    Yes: Your verdict: CUSTOMIZE — generate catalogs from your price master via the Admin API; native prices the checkout and you own the feed.

    No: Your verdict: BUY — let a B2B app carry the scale for now; keep the price book exportable and revisit when capacity exists.

The TCC Scorecard — 12 Dimensions

TCC — Total Cost of Capability: what it actually costs to have this capability over three years, whichever way you get it. Each dimension is scored 0–5 for both paths. How we score →

DimensionBuyBuildWhy
Cost
Acquisition & implementationAn app onboards in days but re-keys the price book into its own database; native config takes a week, and the automation build runs an estimated 4–8 weeks (Deploi estimate, illustrative).
Recurring feesB2B apps bill monthly, often tiered on accounts or SKUs; native catalogs are included with your plan, so the customize path's only recurring line is upkeep.
Maintenance & upgradesThe vendor maintains its portal for you; your sync glue carries roughly 15–20% of build cost per year (Deploi estimate) plus API version bumps about every six months.
Switching & exitPrices written into native catalogs survive any tooling change; prices held in an app's database, or expressed as tag-and-draft-order workarounds, must be rebuilt on exit.
Risk
Vendor riskShopify just re-platformed this category from under its vendors (frontier moved April 2, 2026); expect repositioning, repricing, and consolidation among wholesale apps.
Security & compliance surfaceNegotiated contract prices are commercially sensitive; the customize path keeps them in Shopify and your ERP, two systems you already audit, instead of a third database.
Platform-deprecation exposureWorkaround-era wholesale apps sat on tags, draft orders, and Scripts, and Scripts stopped executing June 30, 2026; catalogs are the first-class surface, leaving your glue routine API version bumps.
Value
Fit to requirementApps ship a generic wholesale portal; the customize path prices exactly your contracts, and Functions express the rules price lists can't.
Time to marketAn app or a three-catalog config is live this week; automation plus any Functions engine takes one to three months (Deploi estimate, illustrative).
Performance & scaleNative catalogs price the storefront server-side with no repricing script; community reports still flag B2B rough edges past roughly 500 accounts, so pilot at your real account count (July 2026 research).
Data ownership & AI-readinessThe decisive dimension: an ERP-to-catalog price book stays queryable first-party data for margin analysis, quoting, and agentic ordering surfaces; app-held price lists are an export request away.
Focus & opportunity costA pricing engine is real engineering that competes with your roadmap; it earns the slot only when pricing is the wholesale business, which at ERP scale it is.

The App Landscape

AppStatusPricingBest for
SparkLayerLiveCategory leader repositioning around native B2B; runs its own price-list layerTiered by feature packA full wholesale buyer experience (price lists, quick order) live fast below Plus
BSS B2B Wholesale SolutionLiveBudget-friendly suite from the pre-native era; post-native positioning in motion (July 2026 research)TieredCovering several native gaps (registration approval, quick order) on one subscription below Plus
Wholesale GorillaLiveLong-running wholesale app predating native B2B; confirm how it coexists with native catalogsTieredSimpler wholesale programs that outgrew discount codes but don't need a portal

The Build Path

  • Native catalogs, hand-managed: Companies assigned to up to three catalogs (more on Plus) with fixed prices, percentage adjustments, and volume breaks. Configuration, not code; this is the WAIT tier, and it's genuinely fine for tiered programs.
  • Catalog automation via the Admin API: A scheduled job or small middleware service reads your price master and writes price lists through GraphQL. Built for the cost-based leaky bucket: bulk operations, backoff on THROTTLED responses, and a reconcile report finance can read.
  • Functions + metaobjects pricing engine: Pricing rules stored in metaobjects and applied server-side with Shopify Functions for what price lists can't express: contract-specific logic, order-size conditions, campaign exceptions. Scope it only after catalogs prove insufficient.
  • ERP as the price master (NetSuite-class): Contract prices stay mastered in the ERP; a one-way feed regenerates catalogs on change. Whether that feed is a connector or custom middleware is its own decision; see our NetSuite integration page rather than settling it here.
Effort band
Native config is near-zero cost; catalog automation runs an estimated $15,000–$40,000 and a Functions pricing engine an estimated $25,000–$60,000 more (Deploi estimate, illustrative); most automation scopes land in the $25–75K contact-form band
Typical timeline
A config week for native catalogs; 4–8 weeks for catalog automation, plus 3–6 weeks if a Functions engine proves necessary (Deploi estimate, illustrative)
Maintenance, honestly
Roughly 15–20% of build cost per year (Deploi estimate): API version bumps about every six months, throttle-budget tuning as the account list grows, and feed monitoring; call it $4,000–$10,000/yr at ERP scale (Deploi estimate, illustrative). The catalog primitive itself is Shopify's to maintain.
What you own — and what you take on
You own: the pricing policy, the sync code, the reconcile reports, and price data that lives in native catalogs plus your ERP. Shopify owns the catalog primitive, checkout pricing, and the buyer-facing B2B surfaces. You take on: feed monitoring, the throttling budget, and the upkeep above.

3-Year Total Cost of Capability

Buy (app path)Build (custom path)
Year 0 (setup)$500–$3,000$15,000–$40,000
Years 1–3 (recurring)$10,800–$43,200$12,000–$30,000 (maintenance)
3-year total≈$11,300–$46,200≈$27,000–$70,000
Illustrative cumulative cost over 36 months$0$12k$24k$36k$48kMo 0Mo 12Mo 24Mo 36Buy (app path)Build (custom path)
Illustrative cumulative cost: at mid-band pricing the app line stays lower through year 3, and account- or SKU-tiered fees narrow the gap as the wholesale book grows. The customize case is won on scale, exit, and price-data ownership rather than quick payback; the cash crossover typically sits past the horizon.
  • All figures illustrative samples for the reference scenario — not quotes, not verified pricing.
  • App path: a mid-tier B2B pricing app held flat; real pricing often tiers on accounts or SKUs, which is conservative for the customize case.
  • Customize path: native catalogs (included with the plan) plus the catalog-automation build; the Functions engine is excluded until rules demand it; three-year horizon.

What the Sticker Price Hides

On the buy path

  • Account- and SKU-tiered pricing scales with exactly what you're growing: the wholesale account list (community-reported pattern)
  • Workaround-era apps price through tags, draft orders, or storefront repricing scripts, which fight native B2B checkout and muddy analytics
  • Your negotiated price book sits in the vendor's database; export completeness varies by plan tier
  • The category is repositioning around native B2B since April 2, 2026; roadmaps and pricing are in motion (July 2026 research)

On the build path

  • The 3-catalog cap below Plus is system-wide, not per-market; settle the plan question before scoping automation (July 2026 research; re-verify)
  • Admin API throttling is a design constraint, not an edge case: the cost-based leaky bucket returns THROTTLED errors inside 200 responses, so bulk operations and backoff go in on day one
  • Community reports flag B2B rough edges past roughly 500 accounts; pilot at your real account count before migrating the full book (July 2026 research)
  • Roughly 15–20% of build cost per year in upkeep (Deploi estimate)

What Merchants Say

B2B-at-scale friction is a steady community theme: stores past a few hundred wholesale accounts report that catalog and price-list management turns into its own admin job, with 500-plus accounts the commonly named line.
community-reported (2026 research corpus)
The post-rollout complaint shape for wholesale apps: paying a subscription for price lists Shopify now includes, while the vendor's remaining value shifts to portal extras like quoting and registration.
app-store 1–2★ review theme

If You Change Your Mind Later

If you bought and outgrow it

Ask two questions before signup: where do prices live, and what exports on your tier. An app that writes native catalogs exits cleanly; one that runs its own pricing database or reprices through tags and draft orders leaves you rebuilding the price book and retraining buyers. Negotiated prices are sensitive commercial data, so get deletion terms in writing too.

If you built and want out

Very little strands: prices live in native catalogs and your ERP, and both survive any tooling change, including a retreat to an app later. You'd walk away from sync code, not from data. That low exit cost is the customize path's quiet advantage, and it compounds every year the price book grows.

When This Answer Changes

We're watching for:

  • Shopify lifting or tiering the 3-catalog cap below Plus; the cap is the whole DEPENDS band (July 2026 research; re-verify quarterly)
  • Native RFQ or quote-to-order shipping; quoting is the biggest remaining gap wholesale apps monetize (none as of July 2026 research)
  • Wholesale-app repricing and consolidation as the category repositions around native B2B

Verdict change log:

  • 2026-04-02Price lists moved from app territory to platform territory. Below the cap the answer is now WAIT; past it, the remaining work is automation around a native primitive, so the default moved from buying a wholesale app to customizing on catalogs.

Common Questions

How many catalogs does Shopify allow without Plus?

Three, system-wide, on non-Plus paid plans per Shopify's rollout (July 2026 research; re-verify); Plus tiers carry substantially higher limits. The cap counts catalogs across the whole store, not per market or location. Three covers a tiered program like gold, silver, and bronze wholesale pricing; the moment accounts need individually negotiated price lists, you've outgrown the cap, and the Plus-versus-app-versus-automation math starts.

Can Shopify handle customer-specific B2B pricing without an app?

Yes, within limits. Native catalogs assign fixed prices, percentage adjustments, and volume breaks per company, on every paid plan since April 2, 2026 (July 2026 research). What native still lacks: RFQ and quoting flows, auto-approve registration, and buyer-side post-purchase edits, while partial payments and deposits stay Plus-only. A handful of price lists you can configure by hand; at hundreds, the Admin API becomes the real management surface.

How do we sync ERP contract pricing into Shopify catalogs?

Treat the ERP as the price master and regenerate catalogs from it: a scheduled job or middleware reads the contract-price export and writes price lists through the GraphQL Admin API. Design for the cost-based rate limit from day one, since THROTTLED errors arrive inside 200 responses (July 2026 research). Whether that feed rides a NetSuite-class connector or custom middleware is its own build-vs-buy decision; we cover it separately.

Your Next Steps

If you're going with CUSTOMIZE(matches your selected profile)

  1. Count the real price lists: accounts, tiers, and the SKU-customer combinations behind them; that number drives every choice below
  2. Settle the plan question first; below Plus the 3-catalog cap is system-wide, so price the upgrade before scoping any automation
  3. Name one price master (ERP, PIM, or spreadsheet of record) and make catalogs a one-way projection of it
  4. Design the sync for cost-based throttling from day one: bulk operations, backoff on THROTTLED, and a nightly reconcile report
  5. Pilot with your 20 largest accounts and reconcile order pricing against the ERP before migrating the full book

If you're going with BUY

  1. Shortlist only apps that write native catalogs rather than run a parallel pricing database; make that the first filter
  2. Get export format and completeness in writing at signup, not at exit; the price book is the asset
  3. Model fees at twice your current account count; account-tiered pricing is where the surprise lives
  4. Test checkout with native B2B enabled before launch; workaround-era repricing can fight catalog prices
  5. Diary a re-decision in two quarters; this category is repositioning around native B2B (July 2026 research)

Official Docs & Sources

Official documentation linked for verification — our verdicts and estimates are our own.

Ready to run wholesale pricing on catalogs you own?

Native B2B re-priced this category in April 2026. We scope the catalog automation and the Functions edge cases, your ERP stays the price master, and your price book never goes on subscription.

Contact us today

Ecommerce development at Deploi

Verdict scored for the reference scenario above. Estimates are not quotes; app pricing carries its verification date and gets re-verified quarterly. Full scoring anchors: see the TCC methodology.

Read how we score these decisions (the TCC Framework). No affiliate links, no paid placement — no app vendor pays to appear here.

No affiliate links. No paid placement. We make money building and integrating solutions — not on referral fees.