舟谱订单导入

v1.2.0

舟谱系统订单导入模板生成(自提订单+调拨订单分开,每表只有1个sheet)。当下单表数据需要转化为舟谱系统可导入的Excel格式时使用。

0· 173· 2 versions· 0 current· 0 all-time· Updated 14h ago· MIT-0

Install

openclaw skills install zhoupu-order-import

舟谱系统订单导入模板生成

核心规则(2026-04-09 更新)

一、客户分类(下单表列名)

下单表列名客户类型舟谱系统客户名价格类型
唐成分销商唐成分销价格
黄家伟分销商黄家伟分销价格
易胜琳分销商易胜玲分销价格
胡奎奎分销商胡奎奎分销价格
朱青峰分销商朱青峰分销价格
谢总分销商宜城谢总分销价格
吾悦门店(永辉)永辉吾悦店永辉价格
东津门店(永辉)永辉东津店永辉价格
民发门店(永辉)永辉民发店永辉价格
沃尔玛门店(沃尔玛)沃尔玛沃尔玛价格
檀溪美联门店(美联)美联檀溪店美联价格

分销商和门店全部填入自提订单导入模板。

二、名称转换规则(舟谱系统特有)

  • 易胜琳(下单表)→ 易胜玲(舟谱)
  • 谢总(下单表)→ 宜城谢总(舟谱)
  • 吾悦(下单表)→ 永辉吾悦店(舟谱)
  • 东津(下单表)→ 永辉东津店(舟谱)
  • 民发(下单表)→ 永辉民发店(舟谱)
  • 檀溪美联(下单表)→ 美联檀溪店(舟谱)

三、源单据号规则

格式:ZT + 到货日期YYYYMMDD + 序号(4位补零)

示例:ZT202604080001

关键:一个客户只能有一个源单据号! 该客户所有商品行都使用同一个单号,不能每个商品单独一个单号,否则舟谱系统报错。

四、自提订单导入模板字段(8列)

字段说明固定值/来源
*源单据号ZT+日期+序号,一个客户共用一个号按规则生成
客户名称舟谱系统名称按名称转换规则
*业务员业务员张俊峰
部门部门湖北福宝商贸有限公司
*仓库仓库总仓
商品名称商品名称从下单表/价格表取
商品条码条码(数字)从下单表/价格表取
*单位单位从价格表取,一个条码对应一个单位
*数量数量从下单表取

只填这9列,不要填其他列!

五、调拨订单模板字段

(参考调拨订单样表,独立sheet,独立文件)

  • 调拨业务员8人:程欢欢、刘善涛、毛辉、周运潘、田顺达、王琴、刘正宝、秦小芳
  • 调出仓=总仓,调入仓=业务员名+仓(如"程欢欢仓"、"秦小芳仓")
  • 源单据号格式:DB + 日期 + 序号(2位,如 DB2026040801
  • 商品条码是必填字段,条码为空时尝试用简称关键词匹配

六、价格来源

使用用户提供的第一张价格表价格表20260406.xlsx),对应字段:

  • 分销价格 → 分销商
  • 永辉价格 → 永辉吾悦/东津/民发
  • 沃尔玛价格 → 沃尔玛
  • 美联价格 → 美联檀溪

七、下单表注意事项

  • 下单表底部有合计行(条码为空),脚本自动跳过
  • 下单表中"+Nd到货"或"+Nd发货"后面的备注不影响匹配
  • 长条码在Excel中存为科学计数法,脚本自动处理
  • 如价格表无某条码价格,用 --extra-prices 参数补充

业务流程

  1. 业务员/导购/分销商用企业微信智能表格报单
  2. 张俊峰导出Excel给到AI
  3. AI填入下单表后发给郝洋(销售经理)审核修改
  4. 郝洋确认后,AI生成舟谱导入模板
  5. 导入舟谱系统

审核环节必须经过郝洋,不能跳过。


脚本用法

1. 自提订单

cd C:\Users\友恒鑫\.qclaw\skills\zhoupu-order-import\scripts
python generate_order_import.py --order <下单表.xlsx> --price <价格表.xlsx> --arrival <YYYYMMDD>

参数:

参数必填说明
--order下单表Excel
--price价格表Excel(第一张:价格表20260406.xlsx)
--arrival到货日期YYYYMMDD
--sheet工作表名关键词
--start-seq起始序号,默认1
--output输出路径
--extra-prices-file补充价格JSON文件

2. 调拨订单

cd C:\Users\友恒鑫\.qclaw\skills\zhoupu-order-import\scripts
python generate_transfer_order.py --order <下单表.xlsx> --price <价格表.xlsx> --arrival <YYYYMMDD>

常见问题

导入失败(成功0条)

最常见原因:源单据号重复

舟谱要求一个客户只有一个源单据号。如果同一客户的多个商品各用不同单号,就会报错。

价格缺失

--extra-prices-file 参数补充。格式:

{"条码字符串": {"分销价格": 10.5, "永辉价格": 12.0, "美联价格": 8.5}}

无条码产品

下单表部分产品条码列为空,脚本按简称(去掉"+Nd到货")匹配价格表。匹配失败则跳过(无法导入舟谱,需手动处理)。

起始序号冲突

舟谱系统已有单号,再次导入时需用更大的起始序号避开。


文件路径参考

  • 价格表:C:\Users\友恒鑫\.qclaw\media\inbound\价格表20260406---22d216fe-73cf-4d63-b169-2890f50d4965.xlsx
  • 下单表蒙牛:C:\Users\友恒鑫\.qclaw\media\inbound\最新26年4月下单表4.8_2---a0898a17-fd59-4733-89a9-cbb1ded1c44d.xlsx
  • 下单表简爱:C:\Users\友恒鑫\.qclaw\media\inbound\26年简爱下单表4.8---6c2adf1c-1a1c-41fc-8fca-3b4fa2984e27.xlsx
  • 补充价格:C:\Users\友恒鑫\.qclaw\workspace\extra_prices.json

舟谱系统导入操作路径

登录地址: https://portal.zhoupudata.com/saas/main

自提订单导入

采销管理 → 自提订单 → 批量操作 → 批量导入 → 选择文件 → 立即导入

调拨订单导入

采销管理 → 调拨订单 → 批量操作 → 批量导入 → 选择文件 → 立即导入


生成后验证规则(2026-04-11 经验总结——零返工核心)

⚠️ 最重要原则:用下单表的"合计行"作为数量基准,永远不要自己累加

下单表底部有"合计:"行(row[2] == '合计:'),每个客户/仓库的数量 Excel 已经算好了。

为什么要这样做:

  • 下单表个别行含公式(=SUM(G2:Y2) 类),Python data_only 模式读出来值不准
  • 下单表中间嵌有"加单汇总行"(如 row[2] == '合计:' 且有唐成=647这类),读到会数量翻倍
  • 每次"看起来差不多"但差几十到几百件,根因都是这个

正确流程:

  1. 读取下单表 → 直接定位合计行(找 row[2] == '合计:' 的那一行)
  2. 从合计行取出每个客户/仓库的数量
  3. 生成模板
  4. 生成后统计模板里每个客户的实际合计件数,逐行对比合计行数字
  5. 完全一致才发文件;有差异立刻查,不发送

其他验证项

条码匹配一致性:

  • 脚本优先用下单表 Col2 的条码去价格表匹配
  • 风险: 下单表里的条码可能填错(如冠爆珠条码填给每日鲜酪)
  • 必须做: 匹配到条码后,对比下单表 Col4 产品名与价格表产品名,明显不一致时告警

价格表会更新:

  • 用户可能随时更新价格表(补充条码、修正价格)
  • 每次生成时使用最新收到的价格表文件(media/inbound 里的最新版本)

无条码产品处理:

  • 以下产品长期无条码,脚本跳过并告警,需手动处理:
    • 蒙牛轻食BOX原味195g
    • 果纤维青提牛油果200g
    • 果纤维芭乐菠萝混合味200g
    • 现代牧场0乳糖软牛奶185ml
    • 每日鲜语双蛋白牛乳250ml
    • 简爱原味酸奶吸吸乐100g

文件路径参考

  • 最新价格表C:\Users\友恒鑫\.qclaw\media\inbound\价格表20260411---4b327b26-5d15-4009-9387-10ae1cc79362.xlsx
  • 最新下单表:C:\Users\友恒鑫\.qclaw\media\inbound\最新26年4月下单表4.8_4月10日到货---b878112b-48db-420e-9ce9-daf9a672532c.xlsx
  • 补充价格:C:\Users\友恒鑫\.qclaw\workspace\extra_prices.json

上传目录

生成后上传到:C:\tmp\openclaw\uploads\

Version tags

latestvk970eha3nrxxm80cg8055ke0gh84sst0