mcpField
B
b2b-commerce

b2b-commerce

github.com/finsilabs其他60134 次安装5 天前更新
代码仓库

关于 b2b-commerce

b2b-commerce 是为开发者和电商运营者提供的 B2B 销售配置指南,介绍公司账户、批发定价、报价流程和账期方案,并按平台说明可用工具。

主要功能

  1. 01比较各平台的 B2B 方案
  2. 02设置公司账户与批发价格
  3. 03配置报价到订单流程
  4. 04设置账期付款与发票
  5. 05规划自定义 B2B 数据模型

适用场景

  1. 01为批发客户配置账户级价格和目录
  2. 02建立公司员工共用的订购流程
  3. 03让大宗或定制订单先报价再下单
  4. 04为企业买家提供账期和采购订单发票

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/finsilabs/awesome-ecommerce-skills --skill b2b-commerce

安装后在 Claude Code 中输入/b2b-commerce确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

tile.json
evals/b2b-database-schema-design/
criteria.json
task.md
evals/catalog-filtering-approval-controls-invo/
criteria.json
task.md
evals/quote-workflow-and-order-conversion/
criteria.json
task.md

详细介绍

B2B 商务

概述

B2B 商务为你的商店增加批发功能:公司账户允许多名员工在同一信用额度下下单;为每个账户设置自定义价格;为大额或定制订单提供从报价到下单的工作流;支持 Net 30/60/90 付款账期并生成发票。大多数平台都提供一方 B2B 功能或专用应用,无需定制开发即可满足这些需求。

何时使用此技能

  • 为需要账户级定价、商品目录和信用账期的批发客户办理入驻时
  • 构建经销商门户,让同一公司的多名员工在共享信用额度下下单时
  • 为定制订单或大批量订单实现配置-定价-报价(CPQ)流程时
  • 将基于电话/电子邮件的批发订购流程替换为自助服务门户时
  • B2B 客户需要在发票上注明采购订单编号,以便其应付账款流程处理时

核心说明

第 1 步:确定你的平台并选择合适的 B2B 工具
平台推荐工具原因
Shopify PlusShopify B2B(内置)Shopify Plus 包含公司账户、自定义商品目录、付款账期和专用 B2B 结账流程,无需额外应用
Shopify(非 Plus)Wholesale Club 或 Wholesale Gorilla这两款应用都能添加基于客户标签的批发定价、最低订购量和隐藏的批发专区,无需 Plus
WooCommerceWooCommerce B2B(WooCommerce.com 扩展)或 B2BWooWooCommerce B2B 支持公司注册、基于角色的定价和净账期;B2BWoo 是一款高级替代方案
BigCommerceBigCommerce B2B Edition 或内置的 Customer GroupsBigCommerce B2B Edition 可添加公司账户和报价;Customer Groups(所有套餐均提供)可处理分级批发定价
自定义 / 无头架构从头构建公司账户、自定义商品目录和报价工作流可全面控制信用额度、审批工作流和发票生成
第 2 步:设置公司账户和批发定价
Shopify Plus — B2B(内置)
  1. 在 Shopify 管理后台中,前往 Customers → B2B → Companies → Create company
  2. 输入公司名称、账单地址、付款账期(例如 Net 30)和信用额度
  3. 添加公司地点(收货地址),并将买家联系人分配给公司
  4. 为公司创建 Price List:前往 Customers → B2B → Price Lists → Create price list,然后为每件商品设置自定义价格,或为所有商品设置百分比折扣
  5. 将价目表分配给公司;公司买家登录后即可看到这些价格
  6. 公司买家会看到专为 B2B 设置的结账流程,其中包含净账期付款选项和采购订单编号字段

Shopify Plus 上的报价工作流:

  • Shopify 内置的 B2B 功能包含 Draft Orders 功能:销售代表为买家创建草稿订单,买家审核并批准后,草稿会转换为订单
  • 前往 Orders → Create order 创建草稿;与买家分享链接以供其审批
Shopify(非 Plus)— Wholesale Club
  1. 从 Shopify App Store 安装 Wholesale Club
  2. 在 Shopify 中创建名为“Wholesale”的客户标签
  3. 在 Wholesale Club 中为“Wholesale”标签创建折扣等级,例如,为带有该标签的客户提供所有商品 30% 的折扣
  4. 批准客户成为批发客户时,为其账户添加批发标签
  5. 带有该标签的客户登录后会看到折扣价;未带标签的客户会看到零售价
  6. 如需设置最低订购量:Wholesale Club 付费套餐支持按商品或订单设置最低订购量(MOQ)
WooCommerce

WooCommerce B2B(官方扩展):

  1. 从 WooCommerce.com 安装
  2. 前往 WooCommerce → B2B → Registration,创建批发账户注册表单,并填写企业详情(公司名称、税号等)
  3. 在 WooCommerce → B2B → Customers 中手动批准批发注册申请
  4. 设置定价规则:对所有产品或特定类别的产品,向用户角色“Wholesale Customer”应用百分比折扣
  5. 对于账期付款:WooCommerce B2B 会添加“Pay by Invoice”支付网关——使用账期付款的订单会生成 PDF 发票,并支持延期付款

替代方案——WooCommerce Role-Based Pricing:

  • (使用 User Role Editor 插件)创建“Wholesale”用户角色
  • 使用 WooCommerce Role-Based Pricing 插件,按产品或产品类别设置各用户角色的价格
BigCommerce

客户分组(所有套餐均提供):

  1. 前往 Customers → Customer Groups → Add
  2. 创建“Wholesale”分组,为所有产品设置百分比折扣,或设置特定类别的折扣
  3. 手动将批发客户分配到该分组,或通过注册表单规则自动分配
  4. “Wholesale”分组中的客户在结账时会看到分组专属价格

BigCommerce B2B Edition(适用于不断发展的批发业务的附加组件):

  1. 联系 BigCommerce 销售团队,将 B2B Edition 添加到你的套餐中
  2. B2B Edition 提供:含多名买家的企业账户、报价请求、企业支付方式和买家门户
  3. 买家门户可让企业管理员通过自助服务界面管理用户、查看订单历史记录和请求报价
步骤 3:设置报价工作流

对于大型或定制订单,报价工作流可让买家在决定购买前先询价。

Shopify Plus
  1. 使用 Draft Orders——销售代表创建包含定制价格的草稿订单
  2. 通过电子邮件向买家分享草稿订单链接
  3. 买家在 Shopify 结账页面查看订单,并批准或下单
  4. 如需更正式的报价系统,可从 Shopify App Store 安装 QuoteIQ 或 CPQ Configurator 应用
WooCommerce
  1. 安装 WooCommerce Request a Quote(免费,由 YITH 或类似开发者提供)
  2. 在产品页面添加“Request a Quote”按钮——买家将商品添加到报价购物车
  3. 买家提交报价请求后,你会收到一封包含商品和数量的电子邮件
  4. 编辑报价(调整价格),并附上批准链接发回给买家
  5. 买家批准后,报价会自动转换为 WooCommerce 订单
BigCommerce B2B Edition
  • B2B Edition 内置报价模块——买家可在任何产品页面点击“Request a Quote”
  • 你会在 BigCommerce 管理后台收到报价请求,设置价格后发回给买家
  • 买家可批准报价并一步完成下单
步骤 4:配置账期付款和发票生成

账期付款允许 B2B 买家在收到商品后付款(Net 30 = 收到发票后 30 天内付款)。

Shopify Plus
  1. 在企业记录中,将 Payment Terms 设置为 Net 15、Net 30、Net 60 或 Net 90
  2. B2B 买家下单时,Shopify 会自动创建“到期日”
  3. 在 Customers → B2B → Orders → Invoices 中跟踪未结清的发票
  4. 发送付款提醒:当发票到期时,Shopify 会自动向买家发送电子邮件(在 Settings → Notifications 中配置)

账期付款的会计集成:

  • 通过 QuickBooks Online 或 Xero 的 Shopify 连接器,将 Shopify 与其连接
  • 账期付款订单会作为未付款发票同步到 QuickBooks/Xero
  • 你的会计团队可在 QuickBooks/Xero 中跟进收款
WooCommerce
  • WooCommerce B2B 扩展中的“Pay by Invoice”网关会根据账期生成带到期日的 PDF 发票
  • 通过 QuickBooks Online WooCommerce 扩展连接 QuickBooks,以跟踪应收账款
  • 如需自动发送付款提醒,可使用 AutomateWoo,在发票到期日前 7 天及到期日当天发送提醒邮件
BigCommerce
  • B2B Edition 的企业付款方式包括“账期”选项
  • 通过 QuickBooks 或 NetSuite 的 BigCommerce 连接器连接,以跟踪发票
步骤 5:自定义/无头架构 — 核心 B2B 数据模型
// Company account with credit management
interface Company {
  id: string;
  name: string;
  taxId?: string;             // EIN, VAT number
  billingAddress: Address;
  paymentTerms: 'prepay' | 'net15' | 'net30' | 'net60' | 'net90';
  creditLimitCents: number | null;  // null = no limit
  creditUsedCents: number;
  status: 'pending' | 'approved' | 'suspended';
}

// Check credit before placing an order
async function checkCreditAvailability(
  companyId: string,
  orderTotalCents: number
): Promise<{ approved: boolean; reason?: string }> {
  const company = await db.companies.findById(companyId);
  if (company.status !== 'approved') {
    return { approved: false, reason: 'Company account not approved' };
  }
  if (company.creditLimitCents !== null) {
    const availableCredit = company.creditLimitCents - company.creditUsedCents;
    if (orderTotalCents > availableCredit) {
      return {
        approved: false,
        reason: `Order exceeds available credit. Available: $${(availableCredit / 100).toFixed(2)}`,
      };
    }
  }
  return { approved: true };
}

// Record credit usage when order is placed (in same DB transaction as order creation)
async function consumeCredit(companyId: string, amountCents: number): Promise<void> {
  // Atomic update prevents race condition when multiple buyers order simultaneously
  await db.raw(
    'UPDATE companies SET credit_used_cents = credit_used_cents + ? WHERE id = ? AND credit_used_cents + ? <= COALESCE(credit_limit_cents, 2147483647)',
    [amountCents, companyId, amountCents]
  );
}

最佳实践

  • 启用账期前,必须先审批企业 — 设置账期前,进行基本信用检查或人工审核;至少要核实企业的商业注册信息
  • 以原子方式执行信用额度限制 — 在创建订单的同一数据库事务中检查并更新信用额度;竞争条件可能导致两位买家同时超出额度
  • 始终在发票上填写 PO 编号 — B2B 买家需要在每张发票上填写其内部 PO 编号,以满足应付账款工作流要求;缺少该编号会导致付款延迟 30–60 天
  • 订单付款或取消后释放信用额度 — 收到付款时,减少 credit_used;这样买家无需等待人工调整即可下新订单
  • 设置报价有效期 — 采用自定义定价的已批准报价应在 30 天后过期,以免买家在成本变动后仍按过时价格下单
  • 审计所有报价价格变更 — 记录谁在何时更改了哪个行项目的价格;这对跟踪利润率和处理潜在争议很重要

常见问题

问题解决方案
某公司的买家看到了另一家公司的定价所有目录和定价查询都严格限定在公司 ID 范围内;通过使用不同公司的买家账号登录进行测试
并发订单导致超出信用额度使用带有 WHERE 子句的原子 SQL 更新来检查可用信用额度;Shopify Plus 的内置 B2B 功能会自动处理此问题
B2B 结账绕过审批流程在订单创建逻辑的服务器端强制执行审批检查,而不只是依赖 UI
批发价格显示给非批发客户必须在服务器端验证 Shopify 上的客户标签和 WooCommerce 中的用户角色;定价绝不能信任客户端状态

相关技能

  • @vendor-management
  • @order-management-system
  • @returns-refund-policy
  • @multi-channel-selling
  • @accounts-payable-management

评论

支持 Markdown