核心功能
payroll-data-audit 是一款企业级工资数据自动化审核系统,采用"确定性操作下沉代码,AI只做路由和翻译"的架构原则,全量对齐《工资审核标准流程 SOP》6步流程,SOP覆盖率达95%(41/43项)。
审核流程全景
系统支持8大审核场景,从快速红线校验到完整端到端流水线:
| 场景 | 核心能力 | 典型耗时 |
|:---|:---|:---|
| 数据扫描确认(强制Step 1) | 发薪月分布、公司主体、计薪项、特殊人员、工号重复检测 | 30秒 |
| 完整审核(Step 1-6) | 字段完整性→公式校验→业务逻辑→红黄蓝线→报告生成 | 3-5分钟 |
| 快速红线校验 | 4项红线阻断规则(实发≤0、加班超36h、低于最低工资、社保未缴) | 10秒 |
| 端到端流水线 | 一键跑完8步不中断:扫描→审核→双版本报告→数据索引→双版本看板→抽样→问题清单→总审核报告 | 5-8分钟 |
| 分段审核编排 | 7阶段独立执行+断点续传,避免大数据量上下文截断 | 可控 |
核心校验规则体系
红线(4项,BLOCK阻断级):实发金额≤0、月加班超36小时、低于最低工资标准、社保公积金应缴未缴。触发即阻断,禁止生成报告。
黄线(6项,FLAG标记级):绩效系数异常(>1.5或<0.5)、出勤天数超计薪天数、应发/实发/加班费环比波动>10%、跨月异常波动。需人工复核但可继续。
蓝线(4项,NOTE提示级):连续3月趋势分析、人数变化>5%、新入职/离职占比异常,仅作趋势提示。
v7.3关键改进
- 中文月份格式兼容:
_get_pay_month()支持 "2026年4月"/"2026年04月"/"202604" 三种格式 - RL-003/RL-007排除逻辑完全生效:实习生(日薪/月薪)、当月入职/离职/长时间请假人员自动排除最低工资检查
- 连续在职人员环比分析:自动识别连续在职人员,排除6类干扰因素后,对比12项计薪科目环比变化,>10%自动标记并分类原因
- 场景十·文件交付:11个必发文件清单+审核结论摘要自动生成
技术特性
| 维度 | 实现 |
|:---|:---|
| 数据精度 | `decimal.Decimal`,公式校验容差0.01元 |
| 列名容错 | 内置40+别名映射,自动适配常见变体 |
| 规则扩展 | 纯JSON配置(`references/rules.json`),无需改代码 |
| 报告形态 | v5卡片+SVG风格 / v6表格化高密度风格,HTML+Markdown双输出 |
| 交互能力 | v6动态看板支持筛选/排序/搜索/展开明细/导出CSV/深色模式(零依赖纯内嵌JS) |
| 数据一致性 | `data_index.json` 作为报告↔看板↔数据的三者关联核心 |
潜在局限
1. 数据源依赖:必须提供飞书/SAP/ADP导出的CSV/Excel,不支持直接系统API对接
2. 非算薪工具:不做实际薪酬计算,仅做逻辑校验和合规审查
3. 中文环境优化:月份解析、政策豁免规则(如"道旅国际15号后入职豁免")针对中国劳动法场景设计
4. Python环境要求:需预装pandas/numpy/openpyxl
适用人群
- HR薪酬专员:月度发薪前数据合规检查
- HRBP/薪酬经理:跨部门/跨主体薪资波动分析
- 财务审计:薪酬数据抽样校验与报告生成
- IT运维:薪酬系统数据质量监控
常规风险与缓解
| 风险场景 | 系统应对 |
|:---|:---|
| 红线触发阻断 | 立即输出红线清单,要求数据修正后重审,不生成无效报告 |
| 抽样校验偏差>5% | 触发根因分析,支持`run_audit.py --resume`断点重审 |
| 列名无法识别 | 返回`{"error": "Missing column: XXX"}`,LLM原文转述要求用户补充 || 无上月基准数据 | 跨月对比自动跳过,报告中标注"无基准数据" |
| 大数据量内存压力 | 分段审核编排,7阶段独立执行,单阶段释放内存 |
数据支撑原则(核心设计理念)
每个审核结论必须有数据依据:
- 正常结论 → 必须输出检查数/通过数/阈值(如"2000条记录,1998条通过,容差0.01元,通过率99.9%")
- 异常结论 → 必须列出具体人员/工号/异常值/预期值/规则ID
- 排除说明 → 必须说明排除原因和依据字段
- 趋势判断 → 必须给出具体数值、变化幅度、驱动因素