海外仓账单对账技能
概述
海外仓账单格式每家仓库都不一样,费用项目杂乱,人工对账耗时且容易遗漏隐性扣费。本技能通过自动化解析账单、对照报价表逐项核对,快速识别差异并生成对账报告和异议邮件。
核心能力
- 账单解析 — 支持 Excel (.xlsx/.xls) 和 PDF 格式,自动识别表头、提取费用明细
- 报价核对 — 逐行比对账单单价与报价表,标记价格差异
- 异常检测 — 13 条规则自动检测重复计费、仓租天数错误、免租期未扣、未报价费用等
- 报告输出 — 生成带颜色标记的 Excel 对账差异表
- 异议邮件 — 根据差异类型自动生成中英文异议邮件
- 月度统计 — 按费用类型汇总,统计每个客户/仓库的月度成本
工作流程
第一步:收集输入
确认以下材料:
- 账单文件:海外仓发来的 Excel/PDF/截图
- 报价表:与该仓库签订的价格协议(Excel 格式最佳)
- 入出库记录(可选):用于核对仓租天数和数量
第二步:解析账单
Excel/PDF 账单:运行 scripts/parse_bill.py 自动解析
python3 scripts/parse_bill.py <账单文件> --output bill.json --quote <报价表文件>
脚本会自动识别表头行、提取费用明细、标准化字段名,输出 JSON 格式的结构化数据。
截图账单:截图无法自动解析,需手动提取以下字段后构建 JSON:
{"items": [{"fee_name": "Storage Fee", "date": "2025-01-05", "quantity": 30, "unit_price": 0.15, "amount": 4.50, "remark": ""}]}
第三步:对账引擎
运行 scripts/reconcile.py 执行所有检测规则:
python3 scripts/reconcile.py bill.json quote.json --output report.json
对账引擎自动执行以下检测规则:
| 规则 | 说明 | 严重度 |
|---|---|---|
| R01 | 重复计费(完全重复的行) | 高 |
| R02 | 包含关系重复(拆柜含打托却单独收费) | 高 |
| R03 | 仓租天数计算错误 | 高 |
| R04 | 免租期未扣除 | 高 |
| R05 | 周末计费(约定不计费但收了费) | 中 |
| R06 | 单价高于报价 | 高 |
| R07 | 汇率错误 | 中 |
| R08 | 阶梯报价未按实际量降档 | 中 |
| R09 | 件数/箱数虚高 | 高 |
| R10 | CBM 取整方式不一致 | 低 |
| R11 | 未在报价表中的费用 | 中 |
| R12 | 杂费占比超过 10% | 中 |
| R13 | 费用名称模糊无法识别 | 低 |
第四步:生成报告
运行 scripts/generate_report.py 生成 Excel 对账报告:
python3 scripts/generate_report.py report.json --output 对账差异表.xlsx
python3 generate_report.py report.json --text # 也可输出文本摘要
Excel 报告包含 3 个 Sheet:
1. 对账摘要 — 总金额、问题数、预计多收金额、费用类型分布
2. 差异明细 — 逐条列出所有问题,按严重度颜色标记(红=高/黄=中/绿=低)
3. 原始账单 — 账单来源信息
第五步:生成异议邮件
根据差异类型,参考 references/email_templates.md 选择模板:
- 模板 A:综合异议邮件(含多项差异,推荐优先使用)
- 模板 B:单项仓租异议
- 模板 C:单项重复计费异议
- 模板 D:单项未报价费用异议
将模板中的 [placeholder] 替换为对账报告中的实际数据,生成正式异议邮件。
第六步:月度成本统计
汇总同一客户在不同仓库的月度费用,生成成本统计表:
- 按费用类型汇总(拆柜/打托/贴标/仓租/处理/退货)
- 按仓库汇总
- 计算月环比变化
- 标记异常波动(某项费用环比增长超过 30%)
参考文档
执行对账时,参考以下文档获取费用类型定义和错误模式:
references/fee_types.md— 海外仓标准费用类型定义及别名映射表,用于识别账单中各种名称的费用属于哪个标准类型references/common_errors.md— 13 条常见计费错误模式的详细说明和检测方法,帮助理解每条对账规则references/email_templates.md— 中英文异议邮件模板,根据差异类型选择使用
人工复核要点
自动化检测无法覆盖所有场景,以下情况需人工复核:
- 费用包含关系(R02)— 需查阅报价表中"含XX"的说明,判断是否重复
- 件数/箱数核对(R09)— 需用入仓通知单或出库订单核对实际数量
- 阶梯报价(R08)— 需确认当月总量是否触发降价阶梯
- 模糊费用(R13)— 费用名称无法识别时需联系仓库确认
- 截图账单 — 截图中的数据需人工提取,注意核对数字准确性
环境要求
- Python 3.10+
- 依赖库:
openpyxl(Excel 解析与生成)、pdfplumber(PDF 表格解析) - 安装命令:
pip install openpyxl pdfplumber