EN
Shopify 知识库 · 概念

B2B:公司、目录与数量规则

说明 Shopify B2B 的对象(公司、公司位置、目录与价格、付款条款)、数量规则与阶梯价、结账与草稿订单在 B2B 中的角色、与新版客户账户的关系、B2B 登录后店面的价格与目录展示,并逐项标出依赖套餐的能力与官方页面之间的表述差异。

Shopify B2B 是一组原生功能:把企业买家建成“公司”,为其配置目录、价格、付款条款与结账设置,并通过客户账户登录后看到对应的商品与价格。它解决的是“同一家店向企业客户按不同价格、数量和账期销售”;它不是独立的批发系统,不覆盖合同管理、审批流水线或 ERP 对接,也不改变哪些买家能买哪些东西以外的库存逻辑。官方页写明 Shopify B2B 适用于所有套餐,但部分能力限 Advanced 或 Plus(核验于 2026-09-29)。

本库哪些内容依赖它

本文是该平台机制的权威来源,其他文章只写各自页面语境下的用法。

核心对象与概念

对象含义备注
Company(公司)“The parent organization for one or more company locations”数量不限;一个公司最多 10,000 个位置、10,000 位客户(创建公司页)
Company location(公司位置)交易中被销售的那个业务主体可各自配置税号、免税、收货与账单地址、目录、付款条款、结账设置;创建公司时自动生成一个位置;一个位置最多 50 位客户
B2B 客户(联系人)代表企业下单的个人只能属于一个公司,但可属于同一公司的多个位置;权限二选一:Ordering only(下单、看自己的订单)与 Location admin(另可看该位置全部订单并改地址)
Catalog(目录)决定 B2B 客户可买哪些商品和价格可含全部商品或指定商品与变体,可按整体涨跌价或固定价调整
Price list / 阶梯价目录内的价格设定每个商品最多 10 个价格阶梯;设置阶梯价后价格变为固定价,目录的整体调整不再适用
Quantity rules每变体的最小、最大、增量见下文
Payment terms公司要在多久内付款支持 Net 7、15、30、45、60、90 天或 “due on fulfillment”(功能总览页)
Order submission订单以正式订单还是草稿提交按公司位置设置
Blended / Dedicated store混合店(B2B 与 D2C 同店)与专属店(仅 B2B、独立库存与后台)官方页对两者适用场景有说明

在哪里配置

  • 公司与位置:Customers > Companies;必填公司名、Company ID(可填外部系统 ID)、主要联系人(须是有邮箱的客户资料)与地址;公司资料页还提到可存 metafield,通用机制见自定义数据。公司位置的目录最多 25 个。
  • 目录:Markets > Catalogs(B2B 市场与普通市场的关系另见市场与配送;目录内的商品与变体结构见商品与变体);基础、Grow、Advanced 套餐通过 B2B 市场分配目录(Markets > Catalogs 里在市场的 Catalogs 设置处添加),Plus 还可直接分配给公司位置。
  • 数量规则:Markets > Catalogs > 选目录 > Manage > Manage products and pricing;也可用 CSV 导入。
  • 结账设置:进入公司位置,在 Checkout 区设置 “Submit all orders as drafts for review”、是否允许一次性收货地址等。
  • 草稿订单:Orders > Drafts > Create order,选 B2B 客户与公司位置。
  • B2B 登录入口:Settings > Customer accounts 可复制客户账户 URL,用于菜单或直接分享;可选发送 B2B 访问邮件邀请客户下单。

与主题、Liquid 和 API 的连接

  • 判断与上下文:Liquid 的 customer.b2b? 判断是否 B2B 买家,另有 customer.current_company、customer.current_location、customer.company_available_locations 与 company、company_location 对象;customer 全局对象仅登录后存在。
  • 位置选择器:开发文档建议用 customer.b2b? 判断,在 company_available_locations.size > 1 时列出位置,链接用 location.url_to_set_as_current。买家属于多个位置时,需先选位置再加购,价格随位置的目录而变。
  • 对非 B2B 隐藏内容:官方建议可用 {%- if customer.b2b? -%} 隐藏价格、购物车图标、加购按钮等;为不影响主题商店资格与自动升级,建议复制价格区块内容到 Custom Liquid 块里再加条件,而不是直接改主题代码。
  • 数量规则:variant.quantity_rule 含 min(默认 1)、max(无上限为 nil)、increment(默认 1)。店面展示:官方页称免费 Shopify 主题 8.0.0 及以上支持展示数量规则,11.0.0 及以上支持阶梯价;也可手动加代码,涉及 main-product.liquid、theme.js 等文件。
  • 按客户类型定制主题:需要基于 JSON 模板的兼容主题,在主题编辑器里用 sections、blocks 与 app embeds 做覆盖;套餐限制见下文,官方页之间有差异。

限制、数值与易错点

核验于 2026-09-29,逐条标来源;多页矛盾时并列。

  1. 目录与套餐(套餐功能对比页、目录页):Basic、Grow、Advanced 通过 B2B 市场最多分配 3 个活跃目录(跨全部 B2B 市场);Plus 目录数量不限并可直接分配到公司与位置。创建目录页另写单店最多 10,000 个目录(摘要级读取)。
  2. 多个目录同时命中:同一位置有多个目录时,店面显示该商品的最低价(不含数量规则),数量规则取自该变体价格最低的目录;目录同时分配给位置和匹配的 B2B 市场时,显示最具体的价格(创建目录页)。
  3. 数量规则(数量规则与阶梯价页):增量须为不小于 1 的整数;按变体生效,不能用 5 件灰色加 5 件蓝色凑增量 10;阶梯价的数量须大于最小订购量且是增量的倍数。该页未写多个目录下规则如何叠加、是否作用于非 B2B 客户;与起订量的关系也见该词条。
  4. 付款相关套餐(套餐功能对比页):Net terms、付款提醒、ACH(仅美国)、保存的信用卡在所有套餐;定金、部分付款、按履约请求付款仅 Plus;草稿订单定金按订单小计的比例计算,不含税费与运费(草稿订单页)。
  5. 客户类型主题定制的套餐,三页并列:按公司类型(B2B 与 D2C)做主题编辑器定制,主题定制页写仅 Shopify Plus,按市场的定制为 Advanced 及以上;套餐功能对比页把 “Contextual storefront” 与 “Contextual checkout” 列为 Advanced 与 Plus;店铺类型页写 Advanced 及以上可用 11.0+ 免费主题为不同客户类型定制内容。三处口径不一致,本文不选边,以后台实际可用性为准。
  6. 不兼容项(使用要求页):加速结账(含 Shop Pay、Apple Pay、Google Pay、Amazon Pay)、小费选项、订阅、对 checkout.liquid 的结账定制、Local delivery、自提点与 agentic storefronts;订单与草稿订单最多 500 个行项目;某些第三方应用不兼容。订阅另见销售计划。使用 Markets 时页面写明须在 feature test drive 中启用 B2B(摘要级读取,含义未核验)。
  7. 结账地址(B2B 结账页与结账设置页):默认收货与账单地址按公司资料预填,结账中不可改,需要的话在账户页提前修改;启用一次性收货地址设置后可填不同地址。
  8. 草稿提交:设置 Submit all orders as drafts for review 后,该位置的客户在结账看到 Submit for approval,不在结账收款;草稿订单默认锁定价格,价格锁不支持商品组合(bundles);官方页另提到可用 Payment Customization Function 按订单金额等条件有条件地转草稿。
  9. 个人订单:术语表写明,邮箱关联到 B2B 公司账户的客户无法完成 D2C 个人订单结账。
  10. 折扣:使用要求页写明,需创建 B2B 市场并把市场加入折扣资格,才能把折扣限定给特定 B2B 客户;见折扣。
  11. 未读到:税号与免税的实际计税效果、UK/EU VAT 号的使用条件(仅读到 Shopify Tax 下可用)、发票与逾期流程、Flow 的 B2B 动作、Storefront API 与 Headless 用法。

与新版客户账户的关系

官方页写明 B2B 必须启用客户账户,且不能对 B2B 客户与订单使用旧版(legacy)客户账户;B2B 客户使用新版客户账户登录,输入与公司位置关联的邮箱并用邮件一次性 PIN,无需密码;登录后可查看订单历史、账户与位置信息、使用保存的付款方式付款、复制历史订单再下单。混合店从旧版切换到新版会同时影响 B2B 与 D2C 客户。混合店铺清单页另写可为全部客户启用账户,或保留旧版账户给 D2C 并另加 B2B 登录 URL;该说法与“不能对 B2B 使用旧版账户”如何共存,本次未读到解释,并列不下结论。账户模式的判断与旧主题账户模板的风险见客户账户;后台谁可管理公司与目录见权限。

结账与草稿订单的角色

  • B2B 结账:登录客户在结账时自动带入公司信息;付款条款为账期时点 Submit,可填采购订单号;信用卡条款则即时付款。
  • 草稿订单:客户通过电话或邮件下单,或需要审批的场景,用草稿订单承载;带 B2B 客户与公司位置的草稿,价格、付款条款与结账选项自动取该公司的设置。订单支付状态的判读见订单与支付状态。
  • 店面差异:同一商品页,登录的 B2B 客户看到目录价与该位置的数量规则,未登录访客看到零售价或被主题隐藏的价格;后台可在公司位置点查看图标,以客户视角预览店面。

验证一次

  1. 建测试公司与两个位置,各绑定不同目录(同一变体不同固定价)与不同付款条款;
  2. 建一位 B2B 联系人,用 B2B 登录 URL 走一次性 PIN 登录,确认账户页显示公司与位置;
  3. 有多个位置时,检查是否必须先选位置才能加购,切换位置后商品页价格是否随目录变化;
  4. 给同一变体设置最小 6、增量 6,用 7 件加购、用两个变体各 3 件加购,记录购物车与结账的提示与结果;
  5. 走一次账期结账,核对地址预填且不可改、采购订单号字段、提交后订单的付款状态;再对一位置启用 Submit all orders as drafts for review,确认按钮变为 Submit for approval;
  6. 未登录与登录状态各看一次商品页,核对主题是否按 customer.b2b? 隐藏或显示价格;
  7. 记录:套餐、主题名与版本、账户模式、目录分配方式、每步的实际界面文本。

待继续完善

  • 一次性 PIN 之外的登录选项、公司账户申请表单的配置;
  • 税费、免税与发票逾期流程;
  • 三页并列的套餐口径需在具体店铺核对;
  • Storefront API、Headless 与 Flow 的 B2B 用法;
  • 数量规则在多目录叠加、对非 B2B 客户的行为。