Shopify B2B Deep Dive / Shopify B2B company locations, explained

Shopify B2B company locations, explained.

Each location on a company record carries its own catalogs, payment terms, checkout rules, addresses, and tax settings. This chapter maps what lives at the location level, what the buyer sees, and where the hard limits sit.

LAST VERIFIED 2026-07-12 AGAINST SHOPIFY DOCUMENTATION
TL;DR

In Shopify B2B, a company location is a branch or office of a company record that carries its own catalogs, payment terms, checkout settings, shipping and billing addresses, and tax settings. A company supports up to 10,000 locations, each holding up to 50 customers and 25 catalogs. Buyers assigned to more than one location must pick which location they are ordering for before adding to cart, and that choice determines the products, prices, taxes, and terms applied to the order.

What is a company location in Shopify B2B?

A company location is a branch, office, or ship-to entity that belongs to a company record. It is the unit Shopify B2B prices against, taxes against, and checks out against. When you create a company, Shopify creates one location automatically; additional locations can copy their settings from an existing location or be entered manually. Each location also carries an externalId field, which is how ERP account numbers map onto Shopify records for ERP sync.

Disambiguation first, because the term collides: company locations are not the same thing as Shopify's inventory locations. Inventory locations are the merchant's warehouses and stores, used for stock and fulfillment. Company locations are the buyer's branches, used for pricing, terms, and checkout. This page covers the second kind only.

What is configured per location versus per company?

Most of the commercial machinery in Shopify B2B attaches at the location level, not the company level. Shopify's own documentation is explicit that some information, such as tax IDs and exemptions, is location-specific and must be updated from the company location page. The working map:

SettingWhere it livesNotes
Catalogs (products + prices)LocationUp to 25 per location; catalogs cannot attach to a contact
Payment termsLocation, company, or bulkSame term can be pushed to all locations at once
Checkout settingsLocation, company, or bulkDraft review, one-time shipping addresses, deposits
Shipping and billing addressLocationOne of each per location
Tax ID, exempt status, exemptionsLocationMust be edited on the location page
Contacts and rolesAssigned per locationA contact can hold different roles at different locations
MetafieldsLocationUseful for ERP account numbers, rep assignment, credit data
Store creditLocationCompany locations can hold store credit accounts
Preferred localeLocationEach location can set its own

The practical consequence: when a distributor says "our Chicago branch pays net 60 and is tax exempt, our Dallas branch pays on order," Shopify models that cleanly. Both branches are locations under one company, each with its own terms and tax settings.

How do catalogs work with company locations?

Catalogs, which bundle a product selection with a price list, are assigned to company locations. In Shopify's B2B object model, catalogs can be assigned only to a company location: never to an individual contact. The location a buyer is ordering for determines which products they see and at what prices.

Three rules govern stacking, since a location supports multiple catalogs (up to 25):

Catalogs also carry quantity rules (minimum, maximum, increments) and volume pricing with quantity breaks, all of which apply in the context of the selected location. The full pricing mechanics are covered in catalogs, price lists and volume pricing.

One plan boundary matters here: B2B itself runs on Basic, Grow, Advanced, and Plus, but non-Plus plans are limited to 3 active catalogs across all B2B markets and assign them through markets rather than directly. Direct catalog assignment to a specific company or location, along with unlimited catalogs, is Shopify Plus only.

How do payment terms work per location?

Payment terms attach at three levels: an individual location, the entire company (all locations), or in bulk across multiple companies. The available options:

Fixed-date terms exist in Shopify but cannot be assigned to a company location; they are draft-order only. And a detail that surprises finance teams: payments are not automatically captured when terms expire. The order flips to Overdue and remains payable, but collection is manual, either charging a vaulted card or waiting for the buyer to click Pay now in their account. The full terms and credit picture is in payment terms, net terms and credit.

What checkout settings can each location have?

Two per-location switches shape B2B checkout behavior:

In the Admin API, both live on BuyerExperienceConfiguration as checkoutToDraft and editableShippingAddress, alongside paymentTermsTemplateId and deposit, and are set through companyLocationUpdate.

How do addresses and tax settings work per location?

Each location holds exactly one shipping address and one billing address. Buyers cannot edit the shipping address on an order after it is placed, and editing the location address itself from customer accounts requires the Location admin permission.

Tax settings are fully location-scoped: an exempt flag (taxExempt), a list of specific exemptions (taxExemptions, for example a provincial reseller exemption), and a tax or VAT registration ID (taxRegistrationId). In the admin these sit on the company location page, with collection options to collect, not collect, or collect unless exemptions apply. Since API version 2025-01 these fields are consolidated into CompanyLocationTaxSettings with a single mutation, companyLocationTaxSettingsUpdate, replacing four older mutations.

How does a buyer switch between locations?

The buyer-side flow works like this. A buyer signs in to customer accounts with the email tied to their company contact and a one-time six-digit code; no password is required. Then the rule that defines the whole multi-location experience applies: if a buyer is assigned to more than one company location, they must select which location they are ordering on behalf of before they can add anything to cart. The prices they see are the catalog prices for the selected location.

In Liquid themes, Shopify exposes everything needed for a location picker: customer.b2b?, customer.current_company, customer.current_location, and customer.company_available_locations, with each location carrying a url_to_set_as_current. A minimal picker from Shopify's theme docs:

{% if customer.b2b? %}
  {% for location in customer.company_available_locations %}
    {% unless location.current? %}
      <a href="{{ location.url_to_set_as_current }}">{{ location.name }}</a>
    {% endunless %}
  {% endfor %}
{% endif %}

Headless and Hydrogen storefronts do the same thing with the Storefront API: contextualize queries with @inContext(buyer: {customerAccessToken, companyLocationId}) and set companyLocationId on the cart's buyer identity via cartBuyerIdentityUpdate. If the customer has exactly one location, it can be set automatically. Theme-level patterns are covered further in building B2B themes and portals.

Switching locations mid-session has a sharp edge: the cart is revalidated against the new location's catalogs. Products not published for the new location are removed from the cart, and the new location's quantity rules apply to what remains, which can produce errors on later cart updates until quantities are fixed. Shopify documentation does not state whether a separate saved cart persists per location in online-store checkout, so build location switching on the assumption that the cart is one shared object that gets revalidated.

What are the hard limits on company locations?

LimitValue
Company locations per company10,000
Customers per company10,000
Customers per company location50
Catalogs per company location25
Active catalogs across all B2B markets (Basic, Grow, Advanced)3
Catalogs (Plus)Unlimited
Companies per customer (contact)1
Line items per B2B order500
Line items per B2B draft order200

The 50-customers-per-location ceiling and the one-company-per-contact rule are the two that bite real org charts. The rest of the constraint landscape lives in the constraints ledger.

The classic multi-location questions

Can one person buy for several branches? NATIVE Yes. A contact can be assigned to multiple locations within their company, with a specific role at each location.

Can one person buy for two different companies? NOT NATIVE No. A customer can belong to only one company. A buyer who purchases for two companies needs two customer records with separate emails.

Can each branch get different pricing? NATIVE Yes, through per-location catalogs, with the lowest applicable price winning when catalogs overlap. Direct company or location assignment requires Plus.

Who sees whose orders? Shopify's admin offers two contact permission levels per location: Ordering only (place orders, view own order history) and Location admin (place orders, review all orders for the location, edit addresses). There is no native permission tier between or above these two.

Can a location be deleted? Not if it has draft or active orders, and a company cannot be deleted if it has orders.

Does B2B with locations require Plus? No. Companies and locations run on Basic, Grow, Advanced, and Plus. Plus adds unlimited catalogs, direct catalog assignment, deposits, partial payments, and payment requests per fulfillment.

Where multi-location operations outgrow the native surface. Native locations handle pricing, terms, and tax cleanly. What buyers with many branches ask for next is workflow: searching order history by location, PO, or SKU instead of scrolling, and routing large orders to an approver before they hit the ERP. B2B Supercharge's Account Tools module adds both, buyer-side order search and reporting across locations, and threshold-based order approvals, on top of the native location model rather than replacing it. See order search and reporting or the full fixes index.

Frequently asked questions

How many locations can a Shopify B2B company have?

Up to 10,000 company locations per company. Each location holds up to 50 customers and 25 catalogs, and the company overall holds up to 10,000 customers.

Can one buyer belong to multiple companies in Shopify B2B?

No. A customer can be added to only one company, though they can be assigned to multiple locations within that company. A person buying for two companies needs two customer records with separate emails.

Can each company location have different pricing?

Yes. Catalogs attach per location, up to 25 per location, and when multiple pricing catalogs apply the buyer gets the lowest price. Direct catalog assignment to a company or location requires Shopify Plus. See price lists and catalogs.

Can each location have different payment terms?

Yes. Terms (none, net 7 through net 90, or due on fulfillment) are set per location, per company, or in bulk across companies. Deposits as part of terms require Shopify Plus.

How does a buyer switch between company locations?

A buyer assigned to more than one location must select which location they are ordering for before adding to cart. Themes render a picker with customer.company_available_locations; headless stores set companyLocationId on the cart's buyer identity.

What happens to the cart when a buyer switches locations?

The cart is revalidated against the new location's catalogs. Products not published for that location are removed, and the new location's quantity rules apply to the items that remain.

Can different locations have different tax exemptions?

Yes. Each location carries its own exempt flag, list of specific tax exemptions, and tax or VAT registration ID, set on the company location page in admin or via the companyLocationTaxSettingsUpdate mutation.

Are company locations a Shopify Plus-only feature?

No. Companies and company locations are available on Basic, Grow, Advanced, and Plus. Plus adds unlimited catalogs, direct company and location catalog assignment, deposits, partial payments, and payment requests per fulfillment.

Sources · verified 2026-07-12

Buyers with many branches need more than a location picker.

B2B Supercharge adds order search, reporting, and approvals on top of Shopify's native company locations. See it against your org chart on a demo.

Book a demo