All articles
Shopify B2B12 min read15 August 2026

How Shopify B2B Company Accounts Work — Complete 2026 Guide

Company accounts, contacts, payment terms, catalogs, and price lists — Shopify's native B2B features explained with practical implementation detail.

Shopify B2BShopify PlusCompany AccountsB2B API

Shopify's native B2B features have matured significantly since their 2022 launch. If you're evaluating Shopify Plus for a wholesale or B2B operation, this guide covers the actual architecture — not the marketing copy.

What Shopify B2B actually is

Shopify B2B is a set of Plus-only features that let you create company accounts — entities that sit above individual customer accounts. A company has locations, contacts (Shopify customers), payment terms, and a catalog (a price list plus access rules).

Company accounts: the core data model

The company is the top-level object. Everything else hangs off it. Here's how the hierarchy works:

  • Company — the legal entity (e.g. Acme Corp)
  • Company Location — a specific address/division within the company
  • Company Contact — a Shopify customer who belongs to the company and can place orders
  • Catalog — a price list + product visibility rules assigned to a company or location

Catalogs and price lists

A catalog is how you control pricing and product access for B2B customers. Each catalog has one price list — a set of price adjustments applied to products. You can have fixed prices per product/variant, percentage adjustments, or volume-based pricing.

graphql
mutation CreateCatalog {
  catalogCreate(input: {
    title: "Acme Corp Catalog"
    priceList: {
      name: "Acme Corp Pricing"
      currency: GBP
      fixedPricesAndAdjustments: [
        {
          variantId: "gid://shopify/ProductVariant/12345"
          price: { amount: "45.00", currencyCode: GBP }
        }
      ]
    }
    publication: { channelId: "gid://shopify/Channel/..." }
  }) {
    catalog { id title }
    userErrors { field message }
  }
}

Payment terms

Payment terms (net 30, net 60, net 90, etc.) are assigned at the company or location level. When a B2B customer checks out, the payment terms are applied automatically — the customer doesn't pay at checkout, an invoice is generated instead.

Payment terms are a Plus-only feature. On standard plans, you'd need to implement this manually using draft orders or a third-party app.

What you can't do with native B2B

Native B2B is powerful but has documented limitations. You can't have multiple price lists per company (one catalog per company). Volume pricing beyond line-item quantity breaks requires Shopify Functions. Purchase order workflows need custom development or an app.

When to use native B2B vs. custom development

  • Native B2B is sufficient for: simple wholesale with fixed trade pricing, payment terms, and basic company account management
  • Custom development is needed for: complex volume pricing rules, ERP-driven pricing sync, multi-tier distributor hierarchies, custom PO workflows
  • Use both: native B2B for the company/contact/payment model, custom Shopify Functions for pricing logic beyond what price lists support
ShareLinkedInX / Twitter
Arslan
Shopify developer specializing in B2B, Shopify Plus, and custom app development. 6+ years building on Shopify.
About

Building something like this on Shopify?

I build exactly what I write about. If you need help implementing this, get in touch — I respond within 24 hours.

Discuss your project

Get new Shopify guides by email

Practical, technical articles on Shopify development — no fluff, no sales emails.

No spam. Unsubscribe anytime.