r/shopify 上一位卖家把这件事描述得很准:供应商每出一单就发一封发货确认邮件,你打开它、复制追踪号、粘进订单、标为已发货,然后下一单。有些天这是三十单,一小时就没了。另一位描述的是每周版本——每个周日晚上三小时复制粘贴。
直觉是把它端到端自动化。那是错的第一步,那条帖里最好的回复说清了原因:有用的那个版本只显示对不上或者没动静的那些,把「逐单检查三小时」变成「处理例外十分钟」。
为什么对账要排在自动化前面
完全自动化意味着向你的店铺写入。那就需要带写权限的凭证,就需要商家自建的应用,就要排进开发者审核队列。而且当供应商换了邮件模板时——他们一定会换——你得到的是静悄悄发错货,而不是一堆看得见的对不上的行。
对账能把同一小时拿回来,却不带任何这些暴露,并且它会告诉你匹配本身到底可不可靠。各平台的写权限到底要付什么代价,我们在Shopify Admin MCP 的那篇走查里写过。
两份导出
你的订单。任何包含订单号、收件人姓名或地址、行项和当前履约状态的导出都行。Shopify、WooCommerce、Etsy 和 eBay 都能从后台直接导,完全不需要 API 权限。
供应商的发货确认。把那些邮件所在的文件夹导出——大多数邮件客户端可以导成 .mbox 或一组 .eml。如果供应商给的是 CSV 或门户导出,用那个;更干净,而且不会因为对方改模板就坏掉。
两份放进同一个本地文件夹。那个文件夹就是全部工作区。
四张表,其中只有三张是清单
明确要这个形状,别接受一段描述性的话:
- 对上且一致——只给数字,不要列出来。
- 没有对应订单的确认——有追踪号,找不到订单。
- 没有确认的订单——超过 N 天还没收到任何发货确认。
- 两可——同时匹配上多个订单的。
先按订单号匹配,只有订单号缺失时才回退到「收件人姓名 + 邮编」。第 2 到 4 张表要求附上匹配所用的原始字段。并且要求:没把握的匹配放进第 4 张,不允许猜进第 1 张。
第 1 张只给数字不给清单,这就是整个设计的全部。正常的一天,那个数字是 28,另外三张都是空的,你十秒钟就看完了。
每张表真正在说什么
第 2 张,有追踪号没订单。通常是供应商对着一个已取消的订单发了货,或者确认信发重了。核起来很便宜,偶尔能在你付两次钱之前拿住重复发货。
第 3 张,有订单没追踪号。这是贵的那张,也是整件事值得做的理由。它们会变成「我的包裹呢」的工单;在平台上,它们会变成延迟发货指标,代价不只是客户不开心,而是曝光。
第 4 张,两可。几乎总是同一个家庭的两个订单。值得手工处理,恰恰是因为全自动系统会选一个,而且有一半的时候选错。
然后,才轮到写回去
连续跑两周、第 4 张稳定为空之后,匹配就可靠到能拿来行动了。到那一步,履约写入依然应该是一个分级动作而不是放开跑:发出前有预览,并且单次调用能碰多少单有上限,这样一个错匹配不至于静悄悄把两百单都标成已发货。
就算你永远不走到那一步,光是对账已经把那一小时去掉了。那部分才是值得留下的。
在 Orkas 里怎么跑
把两份导出放进一个项目文件夹,并且就放在那里。因为项目能跨天保留上下文,明天那一轮可以和今天的第 3 张表对比——一个已经连续三天没追踪号的订单,和今天早上才出现的,是两回事。只有 diff 能告诉你是哪一种。文件和密钥留在你的机器上,模型调用直接发给你的供应商。
周度店铺工作的其余部分也住在同一个文件夹,我们在店铺经营复盘的场景页里走了一遍。
它不负责什么
- 碰到没见过的供应商邮件格式时,头几次你得自己看第 2 张表。
- 它不知道包裹丢了——只知道没人告诉过你它发出去了。
- 承运商那侧的物流状态是另一件事。这里只对「号存不存在」和「订单需不需要一个号」,止此而已。