Take a concrete case: two or three price tiers kept in a spreadsheet, orders arriving over WhatsApp and email, thirty-day invoices chased at month end, and a retail store already live on Shopify. Whether Shopify can handle wholesale isn't the question. The question is which of those pieces the admin settles and which ones get built.

Where the plan line now falls

Shopify's changelog of April 2, 2026 moved core B2B onto Basic, Grow and Advanced at no additional cost. Verbatim, that means up to 3 active B2B catalogs assigned via Markets, company profiles, payment terms, volume pricing, ACH payments in the U.S. only, and vaulted credit cards. The old Plus Wholesale Channel was retired back in 2024.

Plus keeps unlimited catalogs for customer-specific pricing, direct catalog assignment to companies and locations, partial payments, deposits, and payment requests per fulfillment. One requirement on the plan features page doesn't make the headline: B2B catalogs off Plus need the store to be on new Shopify Markets. Contextual checkout and storefront customization through Markets sit on Advanced and Plus.

Everything about the decision follows from one detail. Off Plus a catalog attaches to a B2B market rather than to a named company, and the cap of three is store-wide — assign three to a single B2B market and the whole limit is used. Three catalogs cover three price tiers. They stop covering anything the moment one account is promised a rate nobody else sees.

What a catalog actually does

Structure comes before price. The company is the parent record, it arrives with at least one location, and the location is where tax ID, exemptions, addresses, catalogs, payment terms and contacts all sit. The documented limits: 10,000 locations and 10,000 customers per company, 25 catalogs and 50 customers per location, that 25 being a technical ceiling rather than a catalog allowance.

Catalogs are built under Markets > Catalogs, can carry their own currency, and can pick up new products automatically. Three mechanisms set price: a percentage adjustment across the catalog, fixed per-variant prices that override that percentage, and volume pricing — up to 10 price breaks per product, applied to each variant. Quantity rules layer on top, with a minimum, a maximum and an increment; the increment is a whole number of 1 or more, and price breaks have to exceed the minimum and land on a multiple of the increment.

Two behaviors are worth knowing before anyone argues about a price. Catalogs neither stack nor throw an error: where more than one applies to the same product for the same buyer, the lowest price displays. And the price sheet exports to CSV, edits in a spreadsheet and re-imports in bulk — with the caveat that only products with fixed prices are in the file.

Terms are recorded; collecting is not automated

Four kinds of terms exist: none, net terms, due on fulfillment, and fixed date, the last of which is draft orders only. Net terms come in exactly six options, 7, 15, 30, 45, 60 and 90 days from the order date. One sentence in the documentation carries the weight: payments aren't automatically captured when the payment terms expire. A buyer can settle early through "Pay now" in their customer account, and where a card is vaulted you charge it from the admin yourself.

Reminders are native rather than an app. Settings > Notifications > Orders > Payment reminder holds up to five, scheduled on the payment due date or as far out as 30 days after it. This is store-level configuration applied to orders that carry terms, not a per-order schedule, and reminders don't go out on orders with purchase options. Shopify Flow ships a separate send-payment-reminder action, and its documentation asks you to check that the two aren't duplicating each other.

What sits past that is yours. Per-customer credit limits enforced at checkout appear nowhere in the manual, so plan as though they don't exist, and deposits and partial payments require Plus.

Selling from Latin America

On the supported countries list, checked in September 2026, Mexico is the region's only Shopify Payments country, and ACH is US-only. Check it again before committing. Outside Mexico the practical effect is that vaulted cards and admin-side charging are off the table: net 30 becomes a bank transfer plus a reconciliation you run, and the credit risk stays with the distributor.

Among the payment methods, Shop Pay, Shop Cash and accelerated checkouts generally — Apple Pay, Google Pay, Amazon Pay — don't run at B2B checkout. Cards through Shopify Payments do, as do PayPal in its non-accelerated form, over a hundred third-party providers, and manual methods such as bank transfer or money order. One detail there is worth absorbing before promising a customer anything: manual methods are hidden in two documented cases, and both are the ones that matter here — orders with payment terms, where the customer pays at a later date, and orders from a location set to submit everything as drafts for review. So on a net 30 order, "bank transfer" is not something the buyer picks at checkout: the order carries its terms, and the money gets arranged off that screen. Local electronic invoicing, CFDI included, is documented neither way; treat it as an open question for your app or ERP.

Configure, request, build

No development is needed for companies, locations and contacts; tax IDs and exemptions; catalogs by percentage, fixed price or volume; quantity rules; net terms; payment reminders; submitting all orders as drafts for approval; or the storefront, since B2B features reached Horizon themes on December 10, 2025, and Trade, the theme built for wholesale buying, is available on any plan.

Four things need a request to Shopify Support rather than a toggle: pickup in store, line item scripts, abandoned checkouts, and gift cards at checkout, that last one on Plus as well.

Three things have to be built:

  • Account migration. No companies CSV importer exists to match the products or customers one. Shopify's documentation points at Matrixify, a third-party app; otherwise it is the Admin API, with the Company, CompanyLocation and CompanyContact objects, or manual entry.
  • Credit control. Beyond the five native reminders, blocking on overdue balances and chasing late payment happen outside Shopify.
  • The ERP link. Direct integrations are documented for Acumatica, Microsoft Dynamics 365 Business Central, NetSuite, Fulfil and QuickBooks Online, with iPaaS connectors including Patchworks and OmnifiCX. A system that isn't on the list is an integration project.

The incompatibilities repay an early read: purchase options — subscriptions, pre-orders, try before you buy — are out, as are checkout.liquid customizations, tipping, legacy customer accounts, pickup points and local delivery. Pickup in store and local delivery do work on B2B draft orders created in the admin. Line item ceilings are 500, on an order and on a draft order alike.

The decisions that are hard to reverse

Blended or dedicated comes first. One admin, one inventory, one subscription and one app stack across both channels, or a separate instance with all of that duplicated. Shopify's own wording is that the decision is not easy to change at a later time: moving between models means rebuilding most of the setup.

Headless comes second. A custom B2B storefront runs on the Storefront API and the Customer Account API together. @inContext with the buyer argument contextualizes Storefront API queries, while buyer identity on the cart is set with cartCreate or cartBuyerIdentityUpdate, because @inContext's buyer and country arguments are ignored for cart queries. Caching also has to be off on routes returning buyer-specific data, or one company sees another's pricing.

A first move

Write the pricing structure down before opening the admin, and count the genuinely distinct tiers. That count decides the plan. Then run one small end-to-end test — a company, a location, a catalog, a real buyer, a real order on terms — and follow it through to the money landing and being reconciled. What that exposes is getting paid — the half the admin doesn't settle.

Workrol builds and scales Shopify stores out of Panama City. To talk through a specific case, write to info@workrol.com.

Common questions

Do I need Shopify Plus to sell wholesale?

No. Since April 2, 2026 the core B2B feature set has been included on Basic, Grow and Advanced at no additional cost: up to 3 active B2B catalogs assigned via Markets, company profiles, payment terms, volume pricing, ACH payments (U.S. only) and vaulted cards. One condition attaches: off Plus, the store has to be on new Shopify Markets before B2B catalogs can be used. Plus is what still unlocks unlimited catalogs with customer-specific pricing, direct catalog assignment to companies and locations, partial payments and deposits.

Does Shopify charge the customer when net 30 terms come due?

No. The documentation is explicit that payments aren't automatically captured when payment terms expire. Buyers can pay early from their customer account with "Pay now", and merchants can leave up to five reminders configured under Settings > Notifications > Orders > Payment reminder, on the due date or up to 30 days after it. That is a store-level setting rather than a per-order schedule, and capturing the payment stays with the merchant.

Is there a CSV import for wholesale companies?

Not one that matches the products or customers importer. For bulk loading of companies and company locations, Shopify's documentation points to Matrixify, a third-party app. The other two routes are creating them by hand in the admin, or programmatically through the Admin API using the Company, CompanyLocation and CompanyContact objects.

Can a B2B customer pay by bank transfer at checkout?

It depends on the order. Manual methods such as bank transfer and money order do exist at B2B checkout, but two documented cases hide them: orders with payment terms, where the customer pays at a later date, and orders from a company location set to submit everything as drafts for review. On a net 30 order, then, the buyer never picks bank transfer on that screen — the order carries its terms, and payment is agreed and reconciled separately.