qwen_agent/skills/developing/account-reconciliation/SKILL.md
2026-06-15 14:29:24 +08:00

143 lines
8.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
name: account-reconciliation
description: 收银稽核对账。核对企迈QianMai系统账单与外卖平台京东到家 / 美团外卖 / 饿了么·淘宝闪购)账单是否一致。当用户提供「美团饿了么收银稽核口径」类 Excel、需要做收银稽核 / 平台对账 / 账单核对 / 结算金额比对时使用。讲清数据结构、读取陷阱与逐单对账口径,按实际表灵活适配。
category: Data & Retrieval
---
# 收银稽核对账 (Account Reconciliation)
核对**企迈系统账单**与**外卖平台账单**逐单是否一致,定位差异。覆盖京东到家、美团外卖、饿了么(淘宝闪购)三个平台。
## When to use
- 用户提供「美团饿了么收银稽核口径」一类的对账 Excel要求做收银稽核 / 平台对账 / 账单核对。
- 需要逐单比对「企迈系统结算金额」与「平台结算金额」是否一致、定位差异订单。
- 需要核对平台佣金、配送费、优惠等科目口径。
> ⚠️ 实际 Excel **不保证标准**(表头会错位、字段名会变、订单号带特殊前缀)。
> **不要硬编码列号**,要按下文方法按「值/语义」定位列。本文字段名是当前样本口径,
> 遇到新表先做「数据探查」确认,再套用对账逻辑。
## Excel 结构
通常 7 个 sheet
| sheet | 角色 | 形态 |
|---|---|---|
| `对账映射关系` | 口径说明 | 三组(企迈↔京东 / 企迈↔饿了么 / 企迈↔美团)字段映射 + 汇总公式 |
| `企迈-京东` / `企迈-美团` / `企迈-饿了么` | **企迈系统侧** | **流水拆分表**:一个订单 = 多行,每行一个「结账方式名称」+ 金额 |
| `平台-京东` / `平台-美团` / `平台-饿了么` | **平台侧** | **宽表**:一个订单 = 一行,几十~上百列 |
- 企迈侧需按 `三方订单号` 聚合,对「结账方式名称」透视,金额取 `营业额(元)`
- 平台侧一单一行,主键 `订单号`(饿了么为 `订单编号`)。
> `对账映射关系` sheet 里的汇总公式用了 `C2/C3/H2/M2/M6` 这类**单元格引用**,存在
> off-by-one 偏移、部分越界,**不可直接套用**。一律**以实际数据验证为准**。
## 数据读取的 5 个坑(务必处理)
1. **订单号带前导反引号**:企迈侧订单号/三方订单号以 `` ` `` 前缀存为文本(如
`` `3365287004676962 ``),平台侧多为纯数字。关联前两边都要 `lstrip('`').strip()`
统一转字符串再比较(平台侧 int 大数 `str()` 后无精度问题)。
2. **企迈-京东表头与数据错位 ~2 列**:该 sheet 表头标签与列内容**对不上**(表头第 0 列
写「门店名称」实际放门店编码;表头第 15 列写「优惠拉动营业额」实际放结账方式名称)。
**不能信任 `企迈-京东` 的表头标签**。美团/饿了么表头一般正常。
3. **「结账方式名称」列要按值定位,避开干扰列**:企迈侧同时存在 `结账方式拆分`
`结账方式名称` 两列,**两列都可能含「XX支付」**。正确的「结账方式名称」列应**同时包含**
结算行的值(如 `美团外卖支付`**和**佣金行的值(`平台佣金`)。定位方法:
```
遍历每一列,取该列所有去重值集合;
选「同时包含 pay_name 且包含 '平台佣金'」的那一列;
找不到再退化为「只包含 pay_name」的列。
```
这样京东(表头错位)和美团/饿了么(表头正常)都能正确命中。
4. **平台字段名有全角/半角括号、尾部空格差异**:如饿了么的
`平台服务费(含技术服务费和配送服务费) `(全角括号 + 尾部空格)。匹配平台列时用
「**包含**」而非「精确相等」,必要时去空格再比。
5. **平台侧佣金/服务费是负数(扣项)**:平台账单里佣金、平台服务费多为负值(从结算款里扣)。
与企迈「平台佣金」(正值)比对时**两边取绝对值**。
## 关联键
```
企迈.三方订单号 == 平台.订单号 # 京东、美团
企迈.三方订单号 == 平台.订单编号 # 饿了么
```
清洗后取交集;不在交集的订单单独列出(「仅企迈有」「仅平台有」常见于售后单、跨日结算、未同步)。
## 对账口径(已用样本逐单验证,差异 = 0.00
判定阈值:`|企迈金额 平台金额| < 0.01` 视为一致
### 1) 结算金额(核心,必对)
企迈侧取结账方式名称 = XX支付」那一行的 `营业额`对平台结算字段
| 平台 | 企迈侧结账方式名称 | = | 平台侧字段 |
|---|---|---|---|
| 京东 | `京东支付` | = | `应结金额` |
| 美团 | `美团外卖支付` | = | `商家应收款` |
| 饿了么 | `淘宝闪购支付` | = | `结算金额` |
### 2) 佣金(企迈「平台佣金」= 平台收取的全部服务费合计,取绝对值)
企迈侧平台佣金是平台收取的**全部服务费**佣金 + 配送等打包所以平台侧要用
「**含佣金和配送的平台服务费**」整体比对而非只看佣金分项
| 平台 | 企迈侧 | = \|Σ平台字段\| |
|---|---|---|
| 京东 | `平台佣金` | `总佣金(货款佣金+运费佣金+餐盒费佣金)(可开票)` |
| 美团 | `平台佣金` | `平台服务费(含佣金和配送服务费)` |
| 饿了么 | `平台佣金` | `平台服务费(含技术服务费和配送服务费)` + `增值服务费(店铺推广)` |
> 很多订单没有「平台佣金」行(企迈侧缺该行)且平台佣金为 0此时两边都是 0一致。
### 3) 配送费 / 优惠(口径较模糊,建议「展示并人工核对」而非硬判定)
企迈侧配送/优惠类结账方式名称 `满减配送费`、`折扣商品`、`使用红包`、`满减`、
`取件服务费`、`商家承担配送费`、`京东秒送货款优惠`、`优惠劵`、`淘宝闪购商家优惠`、
`店铺满减` 与平台侧多个补贴/配送字段是**多对多**关系映射表组合公式不可靠
**建议把企迈这些行的明细 + 平台对应字段并列展示**标出差额供人工判断不强行下
一致/不一致结论
## 对账步骤
1. **探查**每个新 Excel 必做打印各 sheet 行列数打印企迈侧前几行**带列索引**
原始值确认三方订单号 / 营业额 / 结账方式名称真实列位置注意京东错位
打印平台侧表头确认结算/佣金字段真实列名注意全角/空格)。
2. **建企迈索引** `三方订单号` 分组清洗反引号结账方式名称透视
`营业额` 求和得到每单 `{结账方式名称: 金额}`
3. **建平台索引** `订单号/订单编号` 分组清洗反引号取结算字段佣金字段
佣金可能多个字段求和)。
4. **逐单比对**对交集订单结算」「佣金」(取绝对值算差额<0.01 判一致
配送/优惠并列展示明细
5. **输出**
- 报告markdown每平台订单数对比仅单边存在的订单逐单核对表
企迈结算 / 平台结算 / / 一致企迈佣金 / 平台佣金 / / 一致)、
企迈侧结账方式名称分布
- 明细CSV `utf-8-sig` 便于 Excel 打开逐单各科目金额 + 企迈拆分串
## 运行环境
- 本仓库用 poetry Excel `openpyxl``load_workbook(path, data_only=True)` 取计算值
- 临时脚本放 `/tmp`运行 `poetry run python /tmp/xxx.py`
- 注意 heredoc 写脚本在本环境可能不落盘**用文件写入工具创建脚本**更可靠
## 排查
- **关联数为 0**订单号没对上 —— 检查反引号清洗int/str 类型是否取错 key
平台侧有订单序号」「结算id等多个像 key 的列认准订单号/订单编号」)。
- **某字段全为 NA**平台 sheet 实际列名与配置不符包含匹配并核对全角/空格
- **结算对得上但佣金对不上**先确认企迈平台佣金列是否被结账方式拆分干扰列
顶替见读取坑第 3 再确认平台侧佣金是否需多字段求和是否取绝对值
- **新平台 / 列名变化**先做探查确认结算佣金字段真实列名再按对账口径表配置
佣金若多字段组合Σ后取绝对值与企迈平台佣金