# Rename Order Invoice Pairs

> 当用户需要整理 AI 平台充值、订单截图、付款截图、发票 PDF/图片，并把订单截图图像与相对应的发票重命名为相同基础文件名时使用。适用于海马云、RunningHub、MiniMax、Hailuo、快手、可灵、Kling 等平台的报销材料归档。规则包括平台标准化命名：海马云/RunningHub 统一为 runninghub，MiniMax/Hailuo/海螺 统一为 hailuo，快手/可灵/Kling 统一为 kling。流程必须先盘点文件、识别订单与发票、生成改名计划，用户确认或自检通过后再执行重命名，避免误改财务凭证。

- Skill: `arcdodo/rename-order-invoice-pairs` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add arcdodo/rename-order-invoice-pairs`
- Raw SKILL.md: https://api.skillmd.com/api/skills/arcdodo/rename-order-invoice-pairs/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Docs & Writing
- Author: arcdodo (https://skillmd.com/u/arcdodo)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/arcdodo/rename-order-invoice-pairs

---


# Rename Order Invoice Pairs

整理订单截图和对应发票，让同一笔交易或同一组合发票的文件使用相同基础命名，只保留扩展名和类型序号差异。

示例：

```text
runninghub_2026-05-18_199.00_order.png
runninghub_2026-05-18_199.00_invoice.pdf
```

## 平台标准名

| 原始名称可能出现 | 标准名 |
|---|---|
| 海马云, RunningHub, runninghub, running hub | `runninghub` |
| MiniMax, minimax, 海螺, Hailuo, hailuo | `hailuo` |
| 快手, 可灵, Kling, kling, kwai | `kling` |

## 工作流

### Phase 1: 盘点文件

用户给文件夹路径或一批文件后：

1. 列出所有图片、PDF、发票和订单相关文件。
2. 分成两类：订单截图/付款截图、发票。
3. 识别平台、日期、金额、订单号、发票号、文件类型。
4. 如果文件名信息不足，查看图片/PDF 内容；仍不足时，生成需要人工确认的候选表。

优先使用文件名和可读文本。不要仅凭文件顺序直接重命名。

### Phase 2: 配对

按可靠性从高到低配对：

1. 同一订单号、发票备注或交易号。
2. 同一平台 + 同一金额 + 同一日期或相近日期。
3. 同一平台 + 唯一金额，可写入候选计划，但日期缺失时必须人工确认。
4. 一张发票金额等于多张订单截图金额之和时，只能列为组合候选，人工确认后执行。
5. 人工确认。

自动执行最低门槛：订单号/交易号一致，或同一平台 + 同一金额且候选唯一。仅平台相同、仅日期相同、缺少真实交易日期、组合发票或同一发票被多笔订单使用时，必须列入待确认清单。

如果同一张订单截图可能对应多张发票，不要自动执行，必须列为冲突。一张发票可以对应多张订单截图，但必须先人工确认组合关系。

### Phase 3: 生成统一命名

默认命名格式：

```text
<platform>_<YYYY-MM-DD>_<amount>_<kind>.<ext>
```

其中：

- `<platform>` 使用标准名：`runninghub`、`hailuo`、`kling`
- `<amount>` 保留两位小数，例如 `99.00`
- `<kind>` 订单截图用 `order`，发票用 `invoice`
- 一张发票对应多张订单截图时，截图命名为 `_order_1`、`_order_2`，发票仍为 `_invoice`

如果用户要求“完全相同命名”，则使用：

```text
<platform>_<YYYY-MM-DD>_<amount>.<ext>
```

但当订单截图和发票扩展名相同，会导致重名冲突；此时必须保留 `_order` / `_invoice`。

### Phase 4: 先计划后执行

必须先生成改名计划，包含：

- 原文件名
- 新文件名
- 识别出的平台/日期/金额
- 配对依据
- 是否有冲突

只有在计划无冲突，或用户明确确认后，才执行重命名。

可使用脚本：

```bash
python scripts/rename_order_invoice_pairs.py <folder> --dry-run
python scripts/rename_order_invoice_pairs.py <folder> --apply --confirmed
```

`--confirmed` 只表示改名计划已经过用户确认或严格人工复核；不要在未展示并检查计划时自动添加。

脚本详情见 [`references/RENAMING-RULES.md`](references/RENAMING-RULES.md)。

## 质量门槛

执行前检查：

- 每个订单截图最多对应一张发票。
- 一张发票可以对应多张订单截图。
- 平台名必须标准化。
- 日期和金额不能凭空编造。
- 文件创建时间或修改时间不能作为交易日期。
- 自动配对必须达到最低门槛，弱匹配只能进入待确认清单。
- 组合发票必须确认多笔订单金额之和与发票金额一致。
- 有冲突时不能自动执行。
- 执行前必须保留改名计划。

执行后汇报：

- 成功改名数量。
- 跳过数量和原因。
- 冲突文件清单。
- 改名计划保存位置。

## 处理不确定情况

如果无法确定配对，不要猜。输出“待确认清单”，让用户确认哪张订单截图对应哪张发票。

