数据 P0 已上线 L0

全表异常数据检查

结构异常与业务异常分级扫描,高/中/低三级,保留原始行号与影响金额,按影响排序输出复核清单

技能 slugfin-anomaly-scan
所属栏目数据 清洗 / 合并 / 脱敏 / 异常
交付阶段P0 P0 计划 · 验证财税品类能否吃住「数据不出电脑」,且只做地基类(清洗/合并/脱敏/异常)与最高频刚需
版权© 2026 律令科技(深圳)有限公司开发 · 财友云(caiyouyun.cn)发布
这个包已上线。复制到本地即可离线运行;正文与用法以下方随包 SKILL.md 为准。

技能正文(随包 SKILL.md)

> **本地运行,零网络、免 API Key、数据不出电脑。**
> 四项诚实承诺:① 算不出就说算不出,绝不编造数字;② 高危动作强制人工确认;③ 幂等断点,绝不重复副作用;④ 全程留痕可审计。

# 全表异常数据检查

人工抽查覆盖不了全表,公式错误、空值、重复、负数和异常波动往往要等出问题才发现。本包做全表扫描并分级,让你先复核高风险的那几行。

**只标记风险,不下违规结论。** 异常表示"需要复核",不代表"存在问题"——这个界限本包不会越过去。

## 输出四件套(每次运行必有)

| 文件 | 内容 |
|---|---|
| `anomaly_主表.csv` | 未命中的干净行,附原始行号 |
| `anomaly_异常表.csv` | 命中规则的行:原始行号、字段、异常类型、风险等级、原值、影响金额 |
| `anomaly_校验表.csv` | 各级数量 + 规则来源 + 人工复核声明 |
| `fin-log.jsonl` | 处理日志(追加) |

## 环境准备

```bash
PY="<python 3.8+ 路径>"   # 纯标准库
"$PY" <skill目录>/scripts/anomaly_scan.py <文件> [参数]
```

## 用法

### 不写规则表:兜底扫描(只做结构检查)

```bash
anomaly_scan.py 报销明细.xlsx --amount-cols 金额
```

真实输出:

```
提示:未给 --rules,已按兜底规则扫描(必填为空 / 金额负数)。
      业务阈值(超支、跳变、状态矛盾)必须由财务定义,本包不替你猜。
方案:报销明细.xlsx | 行=7 | 列=8 | 规则=9 条(兜底)
扫描结果:高 0 / 中 1 / 低 1(共 2 条)
```

**阈值不写就不知道**。业务异常的判断标准只有财务能给,本包不会替你编一个"超过 5000 算异常"出来。

### 用规则表:业务异常也能扫

规则表 `规则表.csv`(四列:列名,规则,参数,等级):

```
列名,规则,参数,等级
报销单号,notnull,,高
部门,notnull,,高
金额,nonneg,,高
金额,max,5000,中
审批状态,enum,已审批|待审批|驳回,中
```

```bash
anomaly_scan.py 报销明细.xlsx --rules 规则表.csv --amount-cols 金额 \
  --key 报销单号 --execute --operator 李四
```

真实输出的校验表:

```
规则条数 | 6
高风险 | 2
中风险 | 1
低风险 | 0
说明 | 异常只表示需要复核,不代表违规
主表行数 | 4
异常行数 | 3
输入行数 | 7
人工复核 | 本结果由本地工具生成,仅供财务复核使用;入账 / 付款 / 申报 / 税务口径 / 重大异常的最终结论必须由对应财务岗位人工确认。
```

## 支持的规则

| 规则 | 含义 | 参数 |
|---|---|---|
| `notnull` | 必填为空 | — |
| `nonneg` | 金额为负 | — |
| `max` / `min` | 超过上限 / 低于下限 | 数值 |
| `enum` | 不在枚举范围 | `值1\|值2\|值3` |
| `date` | 日期格式解析不了 | — |
| `unique` | 配合 `--key` 查重复(命令行指定) | — |

风险等级在规则表第 4 列定义:`高` / `中` / `低`。等级只用于排序,不构成专业结论。

## 安全与边界(拒绝权)

- **源文件零改动**:输出进 `_out/`,原文件不动
- **默认预览**:不加 `--execute` 不写盘
- **规则决定检出范围**:没写规则就不会报。没检出异常不等于数据没问题,只等于"在当前规则下没问题"——这句话会写进校验表
- **不判违规**:输出里永远是"需要复核",不会是"存在舞弊"

## 人工复核(必读)

- 高风险项逐条看原始凭证;中低风险可抽样
- 阈值和枚举值由财务定义并维护版本,改了要更新 `--rule-version`
- 涉及入账、付款、申报的判断,本包结果不能作为依据

## 相邻路线转交

| 用户要做的事 | 转交给 |
|---|---|
| 先清洗格式(日期、金额、名称) | `fin-table-clean` |
| 重复报销的多条件判定 | `expense-reimburse-check` |
| 想把结果外发 | `fin-data-mask` |

## 自检清单

- [ ] 规则表里的阈值是财务给的,不是我随手填的
- [ ] 异常表每一行都能定位到原始行号
- [ ] 高风险项已逐条人工看过

---

本 Skill 采用 BUSL-1.1 许可(源码可见,可自由使用)。

版权所有 © 2026 律令科技(深圳)有限公司(@lexord-technology)。
本技能由律令科技(深圳)有限公司开发,**财友云(caiyouyun.cn)**发布与展示。

允许个人及企业内部免费使用、复制、修改,包括内部生产环境。
未经书面许可,不得将本 Skill 或其修改版作为商业服务对外销售、转售或提供托管服务。
各版本发布之日起 4 年后自动转为 Apache License 2.0。详见随包 `LICENSE.md`。

相邻技能

数据 规划中P0 计划 已上线

财务明细表清洗标准化

日期统一 YYYY-MM-DD、金额转数值、名称按映射表替换、空值/重复/非数字进异常表,输出标准表+异常表+校验表

L0 · 清洗 / 合并 / 脱敏 / 异常
数据 规划中P0 计划 已上线

多表批量合并

按标准字段模板合并多张 Excel/CSV,保留来源文件与来源部门列,业务唯一键查重,输出合并表/重复表/缺字段表

L0 · 清洗 / 合并 / 脱敏 / 异常
数据 规划中P0 计划 已上线

财务数据脱敏采样

从大表抽样 20-50 行并对姓名/税号/银行卡/手机号/金额做保形脱敏,供试跑与外发,原表零改动

L0 · 清洗 / 合并 / 脱敏 / 异常
票证 规划中P0 计划 已上线

发票查重

按发票号码+代码+金额+日期组合查重,拦住重复报销与重复入账

L0 · 发票 / 票据
票证 规划中P0 计划 已上线

发票台账

进销项发票台账,按月/客户/税率汇总,导出 CSV

L0 · 发票 / 票据
资金 规划中P0 计划 已上线

银行流水解析

多银行 CSV/Excel 流水归一化成统一字段与方向标记

L0 · 现金 / 银行 / 收付
资金 规划中P0 计划 已上线

银企对账

流水与账面按金额+日期窗口匹配,输出已勾对/单边与余额调节表

L0 · 现金 / 银行 / 收付
记账 规划中P1 在建 已上线

批量生成记账凭证

从业务单据表按科目映射批量生成凭证草稿,借贷平衡预检

L0 · 凭证 / 账簿
报表 规划中P1 在建 已上线

财务指标分析

40+ 指标(偿债/营运/盈利/成长)+ 多期趋势与同业占位

L0 · 报表 / 申报
底座 规划中P0 计划 已上线

税费计算

增值税/附加/个税/印花税/所得税预缴,附公式与政策依据

L1 · 计算工具 / 归档 / 合规
底座 规划中P0 计划 已上线

财税数值工具

金额大写、含税不含税互算、价税分离、尾差分摊、百分比反算

L0 · 计算工具 / 归档 / 合规
票证 规划中P1 在建 已上线

发票 PDF 字段提取

从带文本层的数电票 PDF 抽取号码/日期/金额/税率/购销方

L0 · 发票 / 票据
本页内容由本地构建生成于 2026-09-27。技能正文以随包 SKILL.md 为准。