关于 order-fulfillment-workflow
面向电商仓储履约流程设计的技能,涵盖订单拣货、包装、发货和条码核验。内容也涉及拣货单、装箱单、物流标签及第三方物流对接。
主要功能
- 01订单拣货、包装与发货流程
- 02条码扫描核验商品
- 03生成拣货单和装箱单
- 04创建物流标签
- 05通过 API、EDI 或 SFTP 对接 3PL
适用场景
- 01用内部工具替代表格拣货
- 02为新仓储作业建立履约流程
- 03降低错发商品的情况
- 04向第三方物流推送标准订单数据
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ finsilabs/ awesome-ecommerce-skills --skill order-fulfillment-workflow安装后在 Claude Code 中输入/order-fulfillment-workflow确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
tile.jsonevals/carrier-label-creation-with-shippo-and-p/criteria.jsontask.mdevals/fulfillment-state-machine-and-barcode-sc/criteria.jsontask.mdevals/pick-list-generation-and-pdf-packing-sli/criteria.jsontask.md详细介绍
订单履约工作流
概述
履约工作流会将已付款订单从“待履约”状态推进到拣货、打包和发货,并通过条码验证防止错发,为每批发货生成装箱单。对大多数商家来说,专用应用比定制软件更可靠、成本更低。只有对于工作流独特且订单量大的仓储运营,定制开发才有意义。
何时使用此技能
- 构建内部仓库工具,以替代基于电子表格的手动拣货流程
- 设置新的履约运营,需要从第一天起就采用结构化工作流
- 与要求提供标准化订单数据的第三方物流(3PL)服务商集成
- 添加拣货验证,以减少错发和客户投诉
- 需要同时支持单订单拣货和批量拣货,以提高效率
核心说明
步骤 1:确定平台并选择合适的履约工具
| 平台 | 推荐工具 | 原因 |
|---|---|---|
| Shopify | ShipStation、Shopify Fulfillment Network (SFN) 或 Pirate Ship | ShipStation 可在一个工具中处理拣货单、装箱单和多承运商标签打印;SFN 则完全外包履约服务 |
| WooCommerce | ShipStation(WooCommerce 插件)、WooCommerce Shipping + Packing Slips by WooCommerce | ShipStation 的 WooCommerce 插件可自动同步订单;内置的装箱单扩展可处理单据生成 |
| BigCommerce | ShipStation、ShipBob 或 Easyship | ShipStation 和 ShipBob 都提供原生 BigCommerce 集成;Easyship 支持跨承运商比价 |
| 自定义 / 无头架构 | 构建履约状态机,并集成 Shippo 或 EasyPost 来生成标签 | 使用 Shippo/EasyPost 创建不依赖承运商的标签;围绕它们构建拣货、打包和发货工作流 |
步骤 2:设置履约工具
Shopify
选项 A:ShipStation(推荐用于每天 50 单以上)
- 从 Shopify App Store 安装 ShipStation
- ShipStation 会自动拉取所有“未履约”的 Shopify 订单
- 在 ShipStation 中设置 Automation Rules(Automation → Automation Rules),根据订单重量、目的地或商品类型分配承运商、服务和预设
- **拣货单:**在 ShipStation 中,前往 Orders → 选择多个订单 → Print → Pick List。ShipStation 会按照仓库布局排序,生成汇总拣货单
- **装箱单:**选择订单 → Print → Packing Slip。在 Account Settings → Printing → Document Templates 中自定义装箱单模板
- **标签打印:**ShipStation 通过其桌面应用将标签打印到热敏标签打印机(Zebra、DYMO)——每个订单扫描一次即可创建并打印标签
- 打印标签后,ShipStation 会自动在 Shopify 中将订单标记为已履约,并向客户发送跟踪邮件
选项 B:Shopify Fulfillment Network (SFN) — 完全外包
- 前往 Settings → Shipping and delivery → Shopify Fulfillment Network
- SFN 负责所有拣货、打包和发货操作——你只需将库存运送到其仓库,之后由其自动履约订单
- 你无需管理仓库;SFN 会跟踪库存,并在当天或次日履约订单
选项 C:Shopify 内置履约功能(适用于订单量较少的情况)
- 前往 Orders → [Order] → Fulfill items
- 手动输入跟踪号码,或通过 Shopify Shipping 购买标签
- Shopify 可生成基本装箱单:Orders → Print → Packing slip
WooCommerce
使用 ShipStation:
- 安装 ShipStation for WooCommerce 插件(可在 WordPress.org 免费获取)
- 在 ShipStation 中,前往 Account Settings → Stores 并连接你的 WooCommerce 商店
- 未履行的 WooCommerce 订单会自动同步到 ShipStation
- 使用 ShipStation 生成拣货单、装箱单并打印面单(工作流程与上文的 Shopify 相同)
- 打印面单后,ShipStation 会将跟踪号码推送回 WooCommerce,并将订单标记为“Completed”
仅使用 WooCommerce(订单量较少时):
- 安装 WooCommerce PDF Invoices & Packing Slips(免费,可在 WordPress.org 获取)以生成 PDF 装箱单
- 前往 WooCommerce → Orders,选择待处理订单,然后在 Bulk Actions 下拉菜单中选择“Generate packing slips”
- 生成拣货单:Smart Manager for WooCommerce 插件或 ATUM Inventory Management 可直接从 WooCommerce 生成拣货单
BigCommerce
使用 ShipStation:
- 通过 BigCommerce App Marketplace 连接 ShipStation
- ShipStation 会自动同步所有未结 BigCommerce 订单
- 使用相同的 ShipStation 工作流程生成拣货单、装箱单并打印面单
使用 ShipBob(外包履约):
- 从 BigCommerce App Marketplace 连接 ShipBob
- 将库存运送到 ShipBob 仓库;他们会自动履行所有订单
- ShipBob 会实时更新 BigCommerce 订单状态和跟踪信息
步骤 3:配置拣货单生成和仓库工作流程
优质的拣货单会按仓库位置(储物格/货架)对商品分组,以尽量减少拣货员的行走时间。大多数运输应用都支持此功能。
ShipStation 拣货单设置:
- 前往 Account Settings → Printing → Pick List
- 配置分组方式:按 SKU 分组(批量拣货)或按订单分组(逐单拣货)
- 如果已在商品中填写储物格位置(ShipStation → Products → edit product),请启用“Show bin location”
- 条码扫描:ShipStation 提供 Scan to Verify 功能——在 Account Settings → Features 中启用。扫描器会在打印面单前验证商品条码,防止发错商品
对于 3PL 集成:
- 大多数 3PL(ShipBob、Whiplash、Flexport)通过 EDI、SFTP CSV 或 REST API 接收订单
- 在 Shopify 中:安装 3PL 的应用,或使用 webhook 将订单推送到其系统
- 在 WooCommerce 中:使用 WooCommerce webhook(WooCommerce → Settings → Advanced → Webhooks)将订单数据推送到 3PL
步骤 4:设置承运商面单创建
Shopify
- Shopify Shipping(内置):在 Shopify 后台直接购买 USPS、UPS、DHL 和 Canada Post 面单,享受折扣费率
- ShipStation:连接所有主要承运商;根据你的业务量协商费率——对于高业务量运营,通常比 Shopify Shipping 更便宜
- EasyShip:可在 Shopify App Store 获取;可在 250 多家承运商中比价,包括国际运输选项
WooCommerce
- WooCommerce Shipping(内置,由 WooCommerce.com 提供支持):直接在 WooCommerce 后台生成 USPS 和 DHL Express 面单
- ShipStation 插件:可在 ShipStation 中连接所有主要承运商
- Easyship 插件:直接在 WooCommerce 结账页面和后台进行多承运商费率比价
BigCommerce
- ShipStation:可对所有主要承运商进行费率比价
- Easyship:原生 BigCommerce 集成,支持 250 多家承运商
自定义/无头架构
import Shippo from 'shippo';
const shippo = Shippo(process.env.SHIPPO_API_KEY);
// Create a shipping label for a fulfilled order
async function createShippingLabel(params: {
warehouseName: string;
warehouseAddress: Address;
customerAddress: Address;
packageWeightOz: number;
packageDimensions: { lengthIn: number; widthIn: number; heightIn: number };
preferredService?: string;
}): Promise<{ trackingNumber: string; labelUrl: string }> {
const shipment = await shippo.shipment.create({
address_from: {
name: params.warehouseName,
street1: params.warehouseAddress.street1,
city: params.warehouseAddress.city,
state: params.warehouseAddress.state,
zip: params.warehouseAddress.zip,
country: 'US',
},
address_to: {
name: params.customerAddress.name,
street1: params.customerAddress.street1,
city: params.customerAddress.city,
state: params.customerAddress.state,
zip: params.customerAddress.zip,
country: params.customerAddress.country,
email: params.customerAddress.email,
},
parcels: [{
length: params.packageDimensions.lengthIn.toString(),
width: params.packageDimensions.widthIn.toString(),
height: params.packageDimensions.heightIn.toString(),
distance_unit: 'in',
weight: params.packageWeightOz.toString(),
mass_unit: 'oz',
}],
async: false,
});
const rate = params.preferredService
? shipment.rates.find(r => r.servicelevel.token === params.preferredService)
: shipment.rates.sort((a, b) => parseFloat(a.amount) - parseFloat(b.amount))[0];
const transaction = await shippo.transaction.create({
rate: rate.object_id,
label_file_type: 'PDF',
});
return {
trackingNumber: transaction.tracking_number,
labelUrl: transaction.label_url,
};
}
最佳实践
- 在开发自定义仓库工具之前,先使用现成的发货应用(ShipStation 或同类应用)——ShipStation 根据订单量每月收费 $9–$159,可处理拣货单、装箱单、打印标签和比较承运商费率;这几乎总是比定制开发更便宜、更快捷
- 按货位排序拣货单——让拣货员按仓库的通道和货架顺序取货,可将拣货时间缩短 15–25%
- 创建标签后立即发送追踪号码——不要等到承运商扫描包裹后再发送;更早收到追踪号码的客户,提交“我的订单在哪里”工单的次数更少
- 在拣货时核验扫描结果——ShipStation 的 Scan to Verify 等类似功能可防止发错商品;应将其设为必经步骤,而非可选步骤
- 在每天结束时批量打印标签——对于每天少于 100 单的情况,批量打印标签可提高打印机效率;对于每天 100 单及以上的情况,应在打包订单时打印标签
常见问题
| 问题 | 解决方案 |
|---|---|
| 订单发出了错误的商品 | 在 ShipStation 或你的 WMS 中启用条码扫描核验,然后才允许打印标签;未经经理批准,不得手动覆盖 |
| 未向客户发送追踪号码 | 确保发货应用已配置为在平台中自动将订单标记为已履约,并触发平台的发货确认邮件 |
| 3PL 收到订单信息流中的商品数量有误 | 根据 3PL 的规范验证 webhook 载荷格式;先用少量订单进行测试,再为所有订单启用 |
| 履约状态与承运商追踪信息不同步 | 使用 ShipStation 或 EasyPost 的追踪 webhook,在承运商扫描包裹时自动更新订单状态 |
相关技能
- @shipment-tracking
- @returns-management
- @order-management-system
- @international-shipping
- @dropshipping-integration
评论
支持 Markdown