关于 b2b-commerce
b2b-commerce 是为开发者和电商运营者提供的 B2B 销售配置指南,介绍公司账户、批发定价、报价流程和账期方案,并按平台说明可用工具。
主要功能
- 01比较各平台的 B2B 方案
- 02设置公司账户与批发价格
- 03配置报价到订单流程
- 04设置账期付款与发票
- 05规划自定义 B2B 数据模型
适用场景
- 01为批发客户配置账户级价格和目录
- 02建立公司员工共用的订购流程
- 03让大宗或定制订单先报价再下单
- 04为企业买家提供账期和采购订单发票
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ finsilabs/ awesome-ecommerce-skills --skill b2b-commerce安装后在 Claude Code 中输入/b2b-commerce确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
tile.jsonevals/b2b-database-schema-design/criteria.jsontask.mdevals/catalog-filtering-approval-controls-invo/criteria.jsontask.mdevals/quote-workflow-and-order-conversion/criteria.jsontask.md详细介绍
B2B 商务
概述
B2B 商务为你的商店增加批发功能:公司账户允许多名员工在同一信用额度下下单;为每个账户设置自定义价格;为大额或定制订单提供从报价到下单的工作流;支持 Net 30/60/90 付款账期并生成发票。大多数平台都提供一方 B2B 功能或专用应用,无需定制开发即可满足这些需求。
何时使用此技能
- 为需要账户级定价、商品目录和信用账期的批发客户办理入驻时
- 构建经销商门户,让同一公司的多名员工在共享信用额度下下单时
- 为定制订单或大批量订单实现配置-定价-报价(CPQ)流程时
- 将基于电话/电子邮件的批发订购流程替换为自助服务门户时
- B2B 客户需要在发票上注明采购订单编号,以便其应付账款流程处理时
核心说明
第 1 步:确定你的平台并选择合适的 B2B 工具
| 平台 | 推荐工具 | 原因 |
|---|---|---|
| Shopify Plus | Shopify B2B(内置) | Shopify Plus 包含公司账户、自定义商品目录、付款账期和专用 B2B 结账流程,无需额外应用 |
| Shopify(非 Plus) | Wholesale Club 或 Wholesale Gorilla | 这两款应用都能添加基于客户标签的批发定价、最低订购量和隐藏的批发专区,无需 Plus |
| WooCommerce | WooCommerce B2B(WooCommerce.com 扩展)或 B2BWoo | WooCommerce B2B 支持公司注册、基于角色的定价和净账期;B2BWoo 是一款高级替代方案 |
| BigCommerce | BigCommerce B2B Edition 或内置的 Customer Groups | BigCommerce B2B Edition 可添加公司账户和报价;Customer Groups(所有套餐均提供)可处理分级批发定价 |
| 自定义 / 无头架构 | 从头构建公司账户、自定义商品目录和报价工作流 | 可全面控制信用额度、审批工作流和发票生成 |
第 2 步:设置公司账户和批发定价
Shopify Plus — B2B(内置)
- 在 Shopify 管理后台中,前往 Customers → B2B → Companies → Create company
- 输入公司名称、账单地址、付款账期(例如 Net 30)和信用额度
- 添加公司地点(收货地址),并将买家联系人分配给公司
- 为公司创建 Price List:前往 Customers → B2B → Price Lists → Create price list,然后为每件商品设置自定义价格,或为所有商品设置百分比折扣
- 将价目表分配给公司;公司买家登录后即可看到这些价格
- 公司买家会看到专为 B2B 设置的结账流程,其中包含净账期付款选项和采购订单编号字段
Shopify Plus 上的报价工作流:
- Shopify 内置的 B2B 功能包含 Draft Orders 功能:销售代表为买家创建草稿订单,买家审核并批准后,草稿会转换为订单
- 前往 Orders → Create order 创建草稿;与买家分享链接以供其审批
Shopify(非 Plus)— Wholesale Club
- 从 Shopify App Store 安装 Wholesale Club
- 在 Shopify 中创建名为“Wholesale”的客户标签
- 在 Wholesale Club 中为“Wholesale”标签创建折扣等级,例如,为带有该标签的客户提供所有商品 30% 的折扣
- 批准客户成为批发客户时,为其账户添加批发标签
- 带有该标签的客户登录后会看到折扣价;未带标签的客户会看到零售价
- 如需设置最低订购量:Wholesale Club 付费套餐支持按商品或订单设置最低订购量(MOQ)
WooCommerce
WooCommerce B2B(官方扩展):
- 从 WooCommerce.com 安装
- 前往 WooCommerce → B2B → Registration,创建批发账户注册表单,并填写企业详情(公司名称、税号等)
- 在 WooCommerce → B2B → Customers 中手动批准批发注册申请
- 设置定价规则:对所有产品或特定类别的产品,向用户角色“Wholesale Customer”应用百分比折扣
- 对于账期付款:WooCommerce B2B 会添加“Pay by Invoice”支付网关——使用账期付款的订单会生成 PDF 发票,并支持延期付款
替代方案——WooCommerce Role-Based Pricing:
- (使用 User Role Editor 插件)创建“Wholesale”用户角色
- 使用 WooCommerce Role-Based Pricing 插件,按产品或产品类别设置各用户角色的价格
BigCommerce
客户分组(所有套餐均提供):
- 前往 Customers → Customer Groups → Add
- 创建“Wholesale”分组,为所有产品设置百分比折扣,或设置特定类别的折扣
- 手动将批发客户分配到该分组,或通过注册表单规则自动分配
- “Wholesale”分组中的客户在结账时会看到分组专属价格
BigCommerce B2B Edition(适用于不断发展的批发业务的附加组件):
- 联系 BigCommerce 销售团队,将 B2B Edition 添加到你的套餐中
- B2B Edition 提供:含多名买家的企业账户、报价请求、企业支付方式和买家门户
- 买家门户可让企业管理员通过自助服务界面管理用户、查看订单历史记录和请求报价
步骤 3:设置报价工作流
对于大型或定制订单,报价工作流可让买家在决定购买前先询价。
Shopify Plus
- 使用 Draft Orders——销售代表创建包含定制价格的草稿订单
- 通过电子邮件向买家分享草稿订单链接
- 买家在 Shopify 结账页面查看订单,并批准或下单
- 如需更正式的报价系统,可从 Shopify App Store 安装 QuoteIQ 或 CPQ Configurator 应用
WooCommerce
- 安装 WooCommerce Request a Quote(免费,由 YITH 或类似开发者提供)
- 在产品页面添加“Request a Quote”按钮——买家将商品添加到报价购物车
- 买家提交报价请求后,你会收到一封包含商品和数量的电子邮件
- 编辑报价(调整价格),并附上批准链接发回给买家
- 买家批准后,报价会自动转换为 WooCommerce 订单
BigCommerce B2B Edition
- B2B Edition 内置报价模块——买家可在任何产品页面点击“Request a Quote”
- 你会在 BigCommerce 管理后台收到报价请求,设置价格后发回给买家
- 买家可批准报价并一步完成下单
步骤 4:配置账期付款和发票生成
账期付款允许 B2B 买家在收到商品后付款(Net 30 = 收到发票后 30 天内付款)。
Shopify Plus
- 在企业记录中,将 Payment Terms 设置为 Net 15、Net 30、Net 60 或 Net 90
- B2B 买家下单时,Shopify 会自动创建“到期日”
- 在 Customers → B2B → Orders → Invoices 中跟踪未结清的发票
- 发送付款提醒:当发票到期时,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