舟谱订单导入
v1.2.0舟谱系统订单导入模板生成(自提订单+调拨订单分开,每表只有1个sheet)。当下单表数据需要转化为舟谱系统可导入的Excel格式时使用。
Like a lobster shell, security has layers — review code before you run it.
舟谱系统订单导入模板生成
核心规则(2026-04-09 更新)
一、客户分类(下单表列名)
| 下单表列名 | 客户类型 | 舟谱系统客户名 | 价格类型 |
|---|---|---|---|
| 唐成 | 分销商 | 唐成 | 分销价格 |
| 黄家伟 | 分销商 | 黄家伟 | 分销价格 |
| 易胜琳 | 分销商 | 易胜玲 | 分销价格 |
| 胡奎奎 | 分销商 | 胡奎奎 | 分销价格 |
| 朱青峰 | 分销商 | 朱青峰 | 分销价格 |
| 谢总 | 分销商 | 宜城谢总 | 分销价格 |
| 吾悦 | 门店(永辉) | 永辉吾悦店 | 永辉价格 |
| 东津 | 门店(永辉) | 永辉东津店 | 永辉价格 |
| 民发 | 门店(永辉) | 永辉民发店 | 永辉价格 |
| 沃尔玛 | 门店(沃尔玛) | 沃尔玛 | 沃尔玛价格 |
| 檀溪美联 | 门店(美联) | 美联檀溪店 | 美联价格 |
分销商和门店全部填入自提订单导入模板。
二、名称转换规则(舟谱系统特有)
- 易胜琳(下单表)→ 易胜玲(舟谱)
- 谢总(下单表)→ 宜城谢总(舟谱)
- 吾悦(下单表)→ 永辉吾悦店(舟谱)
- 东津(下单表)→ 永辉东津店(舟谱)
- 民发(下单表)→ 永辉民发店(舟谱)
- 檀溪美联(下单表)→ 美联檀溪店(舟谱)
三、源单据号规则
格式:ZT + 到货日期YYYYMMDD + 序号(4位补零)
示例:ZT202604080001
关键:一个客户只能有一个源单据号! 该客户所有商品行都使用同一个单号,不能每个商品单独一个单号,否则舟谱系统报错。
四、自提订单导入模板字段(8列)
| 字段 | 说明 | 固定值/来源 |
|---|---|---|
| *源单据号 | ZT+日期+序号,一个客户共用一个号 | 按规则生成 |
| 客户名称 | 舟谱系统名称 | 按名称转换规则 |
| *业务员 | 业务员 | 张俊峰 |
| 部门 | 部门 | 湖北福宝商贸有限公司 |
| *仓库 | 仓库 | 总仓 |
| 商品名称 | 商品名称 | 从下单表/价格表取 |
| 商品条码 | 条码(数字) | 从下单表/价格表取 |
| *单位 | 单位 | 从价格表取,一个条码对应一个单位 |
| *数量 | 数量 | 从下单表取 |
只填这9列,不要填其他列!
五、调拨订单模板字段
(参考调拨订单样表,独立sheet,独立文件)
- 调拨业务员8人:程欢欢、刘善涛、毛辉、周运潘、田顺达、王琴、刘正宝、秦小芳
- 调出仓=总仓,调入仓=业务员名+仓(如"程欢欢仓"、"秦小芳仓")
- 源单据号格式:
DB+ 日期 + 序号(2位,如DB2026040801) - 商品条码是必填字段,条码为空时尝试用简称关键词匹配
六、价格来源
使用用户提供的第一张价格表(价格表20260406.xlsx),对应字段:
分销价格→ 分销商永辉价格→ 永辉吾悦/东津/民发沃尔玛价格→ 沃尔玛美联价格→ 美联檀溪
七、下单表注意事项
- 下单表底部有合计行(条码为空),脚本自动跳过
- 下单表中"+Nd到货"或"+Nd发货"后面的备注不影响匹配
- 长条码在Excel中存为科学计数法,脚本自动处理
- 如价格表无某条码价格,用
--extra-prices参数补充
业务流程
- 业务员/导购/分销商用企业微信智能表格报单
- 张俊峰导出Excel给到AI
- AI填入下单表后发给郝洋(销售经理)审核修改
- 郝洋确认后,AI生成舟谱导入模板
- 导入舟谱系统
审核环节必须经过郝洋,不能跳过。
脚本用法
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)类),Pythondata_only模式读出来值不准 - 下单表中间嵌有"加单汇总行"(如 row[2] == '合计:' 且有唐成=647这类),读到会数量翻倍
- 每次"看起来差不多"但差几十到几百件,根因都是这个
正确流程:
- 读取下单表 → 直接定位合计行(找 row[2] == '合计:' 的那一行)
- 从合计行取出每个客户/仓库的数量
- 生成模板
- 生成后统计模板里每个客户的实际合计件数,逐行对比合计行数字
- 完全一致才发文件;有差异立刻查,不发送
其他验证项
条码匹配一致性:
- 脚本优先用下单表 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\
Comments
Loading comments...
