---
name: reconciliation-automation
description: >
  自动对账 — 对银行账户执行银企对账自动化，发现未达账项并生成调节表。
  适用情形：银行网银导出对账单后，ERP 导出银行凭证，两方数据自动匹配，
  标记已达/未达账项，生成银行调节表。
  核心：企业付款记录 vs 银行扣款记录，按交易时间+金额精确匹配。
argument-hint: "[银行账户] [对账期间 YYYY-MM] [对账单文件] [ERP 导出文件]"
last_reviewed: 2026-06
version: 1.0.0
risk_level: high
---

## 加载上下文

**首次使用时：** 读取 `../../CLAUDE.md` 获取场景级配置（银行账户列表/数据源状态）。

---

# /reconciliation-automation — 自动对账


## Examples

→ 示例：用户说"帮我自动跑一遍银行调节表的核对"，系统应调用本技能，执行银行调节表自动核对。

→ 示例：用户说"有几个银行账户调节不出来，帮我看看差异在哪里"，系统应调用本技能，分析银行调节表未达项。

→ 示例：用户说"帮我们设置一个自动调节规则，让系统自动匹配银行流水"，系统应调用本技能，配置银行流水自动匹配规则。
## 对账原理

**企业视角 vs 银行视角：**

```
企业付款 100 元：
- 企业账面：记录一笔 100 元付款（企业已付）
- 银行记录：跨行转账可能延迟 1-2 天到达（银行未付）

银行扣费（手续费）：
- 银行记录：已扣 50 元手续费（银行已付）
- 企业账面：可能未记账（企业未付）

→ 对账的作用：找出这两类差异，生成调节表
```

---

## 第一步：数据导入

**从 [BANK] 导出对账单：**
```
银行企业网银 → 历史交易查询 → 筛选对账期间 → 导出 Excel/CSV
字段要求：交易日期 / 交易金额 / 对方账户 / 摘要 / 交易类型（收入/支出）
```

**从 [ERP] 导出银行凭证：**
```
ERP → 银行模块 → 导出当月所有银行凭证
字段要求：凭证日期 / 凭证金额 / 银行账户 / 对方账户 / 摘要
```

---

## 第二步：数据标准化

**统一日期格式：**
```
原始格式 → 标准格式
2026/6/15 → 2026-06-15
2026年6月15日 → 2026-06-15
06/15/2026 → 2026-06-15（注意美式日期）
```

**统一金额格式：**
```
原始格式 → 标准格式
1,000.00 → 1000.00
￥1,000 → 1000.00
(1,000) → -1000.00（括号为负数）
```

---

## 第三步：自动匹配

### 匹配算法

**精确匹配条件（同时满足）：**
```
条件1：|企业付款金额| = |银行扣款金额|（允许 ±0.01 元误差）
条件2：企业付款日期与银行扣款日期在 ±3 个工作日内
条件3：对方账户一致（或可追溯到同一笔交易）
```

### 匹配分类

| 匹配结果 | 条件 | 标记 |
|---|---|---|
| 双向已达 | 企业已付 & 银行已付，金额日期一致 | ✅ 已达账 |
| 企业已付银行未付 | 企业已付，但银行尚无记录 | ⚠️ 银行未达（企业付）|
| 银行已付企业未付 | 银行已付，但企业尚无记录 | ⚠️ 企业未达（银行付）|
| 金额差异 | 金额不完全一致 | ⚠️ 金额差异待查 |
| 无法匹配 | 金额/日期均无法对应 | ❌ 异常需排查 |

---

## 第四步：未达账项处理

### 银行未达（企业已付，银行未付）

**正常未达（可接受）：**
```
情形：跨行转账，本行已付但对方银行未到账
处理：标记为"在途资金"，在调节表中作为加项
  金额通常在 1000-50000 元之间
  1-2 个工作日后会自动到达
处理：✅ 标记"正常在途"，定期跟踪
```

**异常未达（需排查）：**
```
情形：转账时间超 5 个工作日仍银行未达
可能原因：
  - 收款账户信息错误（账号/户名不符）
  - 收款银行系统延迟
  - 触发反欺诈模型被拦截
处理：
  1. 联系付款银行查询交易状态
  2. 如确认失败，办理退汇
  3. 退汇后重新发起正确付款
```

### 企业未达（银行已付，企业未付）

**正常未达（可接受）：**
```
情形：银行扣收手续费/账户管理费/利息税
  企业通常在次月收到银行对账单后入账
处理：标记为"银行待记账项"，在调节表中作为减项
  金额通常较小（≤ 1000 元）
```

**异常未达（需排查）：**
```
情形：银行已扣款但企业无对应凭证
可能原因：
  - 银行扣收了我方未知的费用（如罚款/年费）
  - 银行系统记录错误
  - 被不明扣款
处理：
  1. 立即联系银行查询扣款原因
  2. 如为银行错误，要求银行退款
  3. 如为企业漏记账，补录凭证
  4. 如为不明扣款，保留追诉权利并报案
```

---

## 第五步：生成银行调节表

```
═══════════════════════════════════════════════════════════
银行调节表
═══════════════════════════════════════════════════════════
银行账户：[开户行 + 账号]
对账期间：[YYYY年MM月]
调节日期：[YYYY-MM-DD]
编制人：[姓名]
═══════════════════════════════════════════════════════════

企业账面余额：[X,XXX,XXX.XX] 元
加：银行已收企业未收（[X] 笔）：
  1. [日期] [金额] 元 — [原因：如在途资金]
  2. [日期] [金额] 元 — [原因：如手续费待入账]
小计：[X,XXX.XX] 元

减：银行已付企业未付（[X] 笔）：
  1. [日期] [金额] 元 — [原因：如手续费待入账]
  2. [日期] [金额] 元 — [原因：如不明扣款待查]
小计：[X,XXX.XX] 元

调整后企业余额：[X,XXX,XXX.XX] 元
银行对账单余额：[X,XXX,XXX.XX] 元
差异：[X.XX] 元（差异应为 0）

═══════════════════════════════════════════════════════════
差异为 0：[✅ 对账完成] / 差异不为 0：[❌ 须排查]
═══════════════════════════════════════════════════════════

【未达账项跟踪】

银行未达（企业付）：
  - [金额] 元，[日期起]，状态：[在途/异常/已到账]
  - [金额] 元，[日期起]，状态：[在途/异常/已到账]

企业未达（银行付）：
  - [金额] 元，[日期起]，状态：[待入账/异常/已入账]
  - [金额] 元，[日期起]，状态：[待入账/异常/已入账]

【下一步行动】
  → [如差异为 0] 对账完成，流转至下一节点
  → [如差异不为 0] 须排查差异原因后再完成对账
═══════════════════════════════════════════════════════════
```

---

## 多银行账户处理

当公司有多个银行账户时，**逐一对账**，生成独立调节表：

```
账户 1：工商银行基本户 [已完成 ✅]
账户 2：建设银行一般户 [已完成 ✅]
账户 3：农业银行一般户 [进行中 ⚠️ — 有 1 笔未达]
账户 4：招商银行外汇户 [未开始 ❌ — 须先导出对账单]
账户 5：花旗银行外汇户 [进行中 ⚠️ — 汇率问题待确认]
```

**并行处理原则：**
```
账户数量 ≤ 3 个 → 逐一处理
账户数量 > 3 个 → 并行启动多个对账任务
  → 每个账户独立生成调节表
  → 全部完成后汇总报告
```

---

## 升级触发条件

- 差异金额 > [填空：如 5000 元] 且无法查明原因
- 同一账户连续 3 个月存在未达账项
- 发现疑似不明扣款（金额 > 1000 元且无合理解释）
- 银行对账单与 ERP 记录呈现系统性金额偏移（疑似汇率或精度问题）
- 企业已付但银行一直未付，超过 10 个工作日

---

*Finance Skills — reconciliation-automation atomic skill*