四组 20 条勾稽规则三态判定,含失败路径验证,不通过就摆出差异
statement-cross-checkSKILL.md 为准。> **本地运行,零网络、免 API Key、数据不出电脑。**
> 四项诚实承诺:① 算不出就说算不出,绝不编造数字;② 高危动作强制人工确认;③ 幂等断点,绝不重复副作用;④ 全程留痕可审计。
# 三大报表勾稽校验
报表做得对不对,一半靠勾稽。资产负债表内部要平、利润表内部要通、
资产和利润之间要说得通、资产和现金流量之间要接得上——
这四组关系任何一条断了,报表就不可信。
本包的目标是**失败路径也要能验证**:人为把资产总计改错,
脚本必须报「不通过」并摆出差异——一个只会报「通过」的校验等于没有。
## 规则清单(四组 18 条 + 4 条提示)
### A 组 · 资产负债表内部(5 条)
| 编号 | 规则 |
|---|---|
| A01 | 资产总计 = 负债合计 + 所有者权益合计 |
| A02 | 资产总计 = 负债和所有者权益总计(列报合计行) |
| A03 | 流动资产合计 ≤ 资产总计 |
| A04 | 流动负债合计 ≤ 负债合计 |
| A05 | 实收资本 ≤ 所有者权益合计 |
### B 组 · 利润表内部(6 条)
| 编号 | 规则 |
|---|---|
| B01 | 营业收入 − 营业成本 = 毛利 |
| B02 | 毛利 − 各项费用 = 营业利润 |
| B03 | 利润总额 − 所得税费用 = 净利润 |
| B04 | 收入与费用非负 |
| B05 | 净利润 ≤ 营业收入 |
| B06 | 毛利率在 0–100% 之间 |
### C 组 · 资产 ↔ 利润(4 条,含 3 条提示)
| 编号 | 规则 |
|---|---|
| C01 | 未分配利润 + 盈余公积 ≤ 所有者权益合计 |
| C02 | 〔提示〕本期盈利应使所有者权益增加 |
| C03 | 〔提示〕量级合理性(收入与资产不在同一量级要留意) |
| C04 | 〔提示〕收入与资产同向变动 |
### D 组 · 资产 ↔ 现金流量(3 条)
| 编号 | 规则 |
|---|---|
| D01 | 经营 + 投资 + 筹资 = 现金净增加额 |
| D02 | 货币资金 ≤ 资产总计 |
| D03 | 〔提示〕期初衔接核对(上期期末 = 本期期初) |
## 输出
| 文件 | 内容 |
|---|---|
| `sx_主表.csv` | 每条规则的编号、规则、判定结果、实际值、差异 |
| `sx_异常表.csv` | 判定为「不通过」的规则(带具体差异金额) |
| `sx_校验表.csv` | 各组通过 / 不通过 / 无法校验计数 |
| `fin-log.jsonl` | 处理日志(追加) |
## 用法
```bash
PY="<python 3.8+ 路径>" # 纯标准库
"$PY" <skill目录>/scripts/stmt_cross.py 资产负债表.xlsx 利润表.xlsx 现金流量表.xlsx --execute
```
**默认不写盘**——不加 `--execute` 只打印预览。
## 真实输出
正常数据:
```
--- 勾稽结果 ---
通过 14 | 不通过 0 | 无法校验 0 | 提示 4
```
人为把资产总计改成 1,900,000(少 20,000)后的失败路径验证:
```
通过 12 | 不通过 2 | 无法校验 0 | 提示 4
[不通过] A01 资产总计 = 负债合计 + 所有者权益合计
差 -20,000.00
[不通过] A02 资产总计 = 负债和所有者权益总计(列报合计行)
差 -20,000.00
```
**失败路径验证有效**——校验器不是只会报「通过」的摆设。
## 关键设计
- **三态判定**:通过 / 不通过 / 无法校验。「无法校验」和「通过」是两回事,
数据里没有这一行不等于关系成立
- **提示与断言分开**:C02–C04、D03 是提示类,不参与「不通过」计数,
但同样列出来,避免被忽略
- **差异带符号**:不通过时给出具体差多少,方便直接定位到某一行
## 安全与边界(拒绝权)
- **源文件零改动**:输出进 `_out/`,原表不动
- **默认预览**:不加 `--execute` 不写盘
- **不做技术性调整**:发现差异只报告,不代为调账
- **不代替会计判断**:勾稽关系是必要条件,不是充分条件
## 人工复核(必读)
- A01 不平最常见的原因是某一行漏列或重复计算
- B 组「收入费用非负」命中,通常是红字冲销的方向问题
- C02「本期盈利应使所有者权益增加」不通过,先看有没有大额分红或减资
- D03 期初衔接不上,多半是上期报表口径与本期不一致
## 相邻路线转交
| 用户要做的事 | 转交给 |
|---|---|
| 三大报表本身怎么出 | `financial-statement-build` |
| 财务比率算一遍 | `financial-ratio` |
| 月度经营分析材料 | `monthly-mgmt-report` |
## 可直接复制的说法
```text
把三大报表之间的勾稽关系全过一遍:资产负债表内部、利润表内部、
资产与利润之间、资产与现金流量之间,四组规则。
每条给出通过 / 不通过 / 无法校验三态,不通过的要把具体差异金额列出来。
数据里缺的行要标「无法校验」,不能当成「通过」。
```
## 做完怎么算完成
- [ ] 所有「不通过」项都能在原报表里定位到具体行
- [ ] 所有「无法校验」项都确认过确实缺数据,而非规则不适用
- [ ] 提示类项(C02–C04、D03)已逐条看过并给出结论
- [ ] 修完差异后重跑,四组全部通过
---
本 Skill 采用 BUSL-1.1 许可(源码可见,可自由使用)。
版权所有 © 2026 律令科技(深圳)有限公司(@lexord-technology)。
本技能由律令科技(深圳)有限公司开发,**财友云(caiyouyun.cn)**发布与展示。
允许个人及企业内部免费使用、复制、修改,包括内部生产环境。
未经书面许可,不得将本 Skill 或其修改版作为商业服务对外销售、转售或提供托管服务。
各版本发布之日起 4 年后自动转为 Apache License 2.0。详见随包 `LICENSE.md`。40+ 指标(偿债/营运/盈利/成长)+ 多期趋势与同业占位
从科目余额表生成资产负债表/利润表/现金流量表(直接法+间接法)
增值税/附加/印花税申报表数值填列与填表指引
多公司/多期报表合并成一个工作簿,含目录页
口径字典驱动,本期/预算/上期/同期同表比较,环比同比与预算达成率,超阈值变化单列
按发票号码+代码+金额+日期组合查重,拦住重复报销与重复入账
进销项发票台账,按月/客户/税率汇总,导出 CSV
多银行 CSV/Excel 流水归一化成统一字段与方向标记
流水与账面按金额+日期窗口匹配,输出已勾对/单边与余额调节表
从业务单据表按科目映射批量生成凭证草稿,借贷平衡预检
增值税/附加/个税/印花税/所得税预缴,附公式与政策依据
金额大写、含税不含税互算、价税分离、尾差分摊、百分比反算
SKILL.md 为准。