P

Skill 详情

Payroll Data Audit

{ "description_zh": "工资数据审核系统,基于确定性规则引擎和 Python 脚本执行。适用于用户询问工资数据审核、薪资校验、算薪逻辑验证、薪酬合规检查、工资单审核、月度薪资校验、发薪前数据检查

来源平台:SkillHub
来源标识:SkillHub/payroll-data-audit
源文件:原始说明
数据处理 高关注 SkillHub 低 风险 下载 258 SkillHub
来源平台SkillHub
文档版本5.0.1
热度高关注
排名信号下载 258
概述 安装 文档 下载

快速判断

{ "description_zh": "工资数据审核系统,基于确定性规则引擎和 Python 脚本执行。适用于用户询问工资数据审核、薪资校验、算薪逻辑验证、薪酬合规检查、工资单审核、月度薪资校验、发薪前数据检查

最后校验2026-05-27
来源平台SkillHub
安全提示
下载副本ZIP 可用

适合任务

  • 按 SkillHub 收录说明复用成熟任务流程。
  • 通过下载包离线阅读完整 Skill 内容。
  • 结合热度指标优先评估常用 Skill。

输入与输出

输入:任务目标、上下文材料、文件路径、约束条件或需要处理的内容。

输出:按 Skill 说明生成的文档、代码、检查结果、计划、建议或操作步骤。

示例任务

  • 使用 Payroll Data Audit 帮我处理当前任务,并说明需要准备哪些输入。
  • 根据 Payroll Data Audit 的说明,先列出使用前的安全检查项。

安装方式

  1. 下载本站提供的 Skill ZIP 并解压。
  2. 把解压后的 Skill 目录放入当前 AI 工具支持的 skills 目录。
  3. 如需在线查看原始内容,可打开 GitHub 的 SKILL.md

在线原始地址:skillhub-payroll-data-audit/SKILL.md

风险边界

SkillHub 提供了源站安全报告入口,但本站不替代人工审查。使用前仍需检查权限、外部依赖和敏感数据边界。

SKILL.md 文档介绍

Payroll Data Audit v5.0.0

架构原则:确定性操作下沉到代码,模糊推理留给 LLM。AI 不做计算和判断,只做路由决策和报告翻译。

概述

工资数据审核系统,全量对齐《工资审核标准流程 SOP》6 步流程,对飞书/SAP/ADP 导出的工资表执行自动化合规校验。SOP 覆盖率 95%(41/43 项)。

功能范围

  • 字段完整性检查(30+ 列名容错映射)
  • 姓名/工号重复检测
  • 公式校验(Decimal 精度,0.01 容差)
  • 红线校验(实发≤0、加班超36h、低于最低工资、社保未缴)
  • 黄线校验(绩效异常、出勤超限、工资波动)
  • 蓝线校验(跨月趋势,仅提示)
  • 政策校验(实习生豁免、离职当月社保、道旅国际社保/公积金豁免)
  • 人数对比分析(新入职/离职/波动>5%)
  • 总额环比分析(12项计薪科目,±10%阈值自动标记)
  • 分主体/部门对比(按公司主体分组环比)
  • 按人深入分析(连续在职筛选+排除逻辑+六类变化分类+核实标记)
  • HTML/Markdown 审核报告生成

不覆盖:实际算薪操作、薪酬市场调研、个税计算、社保核算。

使用

决策路由

先判断用户需求属于哪类场景,再执行对应流程:

| 用户说的 | 匹配场景 | 执行 |

|---------|---------|------|

| "帮我审核本月工资数据" | 完整审核 (Step 1→6) | run_full_audit |

| "快速看看有没有问题" | 红线校验 | --step red_lines |

| "发薪前帮我理一下数据" | 字段检查 | --step fields |

| "帮我验一下公式对不对" | 公式校验 | --step formulas |

| "帮我出个审核报告" | 报告生成 | generate_report.py |

场景一:完整审核(Step 1 → 6)

第一步:获取数据 — 要求用户提供本月工资数据文件(CSV/Excel),可选上月数据用于跨月对比。

第二步:执行审核

python3 -m scripts.rules_engine \
  --data <本月工资数据.csv> \
  --prev <上月工资数据.csv> \
  --output /tmp/audit_result.json

第三步:确认门 — 如果 summary.blocked == true(触发红线),不要生成报告,先输出红线清单并要求用户确认数据修正后再继续。

第四步:生成报告 — 通过红线后,用脚本输出 JSON 生成人类可读报告:

python3 scripts/generate_report.py \
  --input /tmp/audit_result.json \
  --format both

输出文件report.html + report.md 在工作目录。

场景二:快速红线校验

python3 -m scripts.rules_engine \
  --data <工资数据.csv> \
  --step red_lines \
  --output /tmp/red_lines_result.json

适用于发薪前快速检查,只需 10 秒。

场景三:数据梳理(字段检查)

python3 -m scripts.rules_engine \
  --data <工资数据.csv> \
  --step fields \
  --output /tmp/fields_result.json

检查必填字段是否缺失、格式是否正确。

场景四:公式校验

python3 -m scripts.rules_engine \
  --data <工资数据.csv> \
  --step formulas \
  --output /tmp/formulas_result.json

验证应发/实发计算是否与公式一致。

场景五:报告生成

# HTML 可视化报告
python3 scripts/generate_report.py \
  --input /tmp/audit_result.json --format html --output report.html

# Markdown 报告
python3 scripts/generate_report.py \
  --input /tmp/audit_result.json --format markdown --output report.md

# 两者都生成
python3 scripts/generate_report.py \
  --input /tmp/audit_result.json --format both

补充说明

数据来源

  • 优先:飞书多维表格导出 CSV / SAP HCM 导出 Excel / ADP 导出
  • 降级:要求用户提供 CSV/Excel 文件
  • 兜底:无任何数据源时拒绝执行,回复:"请提供工资数据文件(CSV 或 Excel 格式),我才能进行审核。"

列名容错

脚本内置 COLUMN_ALIAS 字典,自动映射 30+ 种常见列名变体。

如果列名无法识别,脚本返回 {"error": "Missing column: XXX"},LLM 必须原文转述。

精度处理

金额计算使用 decimal.Decimal,避免浮点误差累积。公式校验容差 0.01(1 分钱)。

规则更新

所有规则集中在 references/rules.json。修改规则只需编辑此文件,无需修改脚本。

为什么这样设计:业务规则变化频繁(如最低工资调整),集中管理避免每次都要改代码。

红线阻断

红线触发 → 立即阻断,不继续后续步骤,不生成报告。

为什么:红线代表严重违规(如负实发、低于最低工资),必须先修正数据再审核,否则报告无意义。

常见错误场景

| 场景 | 处理 |

|------|------|

| 数据源字段缺失 | 列出缺失字段清单,要求用户补充后重试 |

| 日期格式混乱 | 脚本自动尝试多种格式解析,失败则返回错误 |

| 无上月数据 | 跨月对比/按人分析跳过,在报告中标注"无基准数据" |

| Python 环境无 pandas | 提示用户 pip install pandas numpy openpyxl |

| 红线触发 | 立即阻断,输出红线清单,要求用户修正后重跑 |

依赖安装

pip install pandas numpy openpyxl pytest

测试

cd payroll-data-audit
python3 -m pytest scripts/tests/ -v

56 个测试全部通过。CI/CD 自动运行:push/PR 时触发 pytest + coverage(80% 门槛)+ lint。

踩坑记录

  • fillna(None) 不兼容新版 pandas → 所有 fillna 统一用 fillna(0)
  • df[mask] 索引不对齐 → mask 创建时必须用 pd.Series(..., index=df.index) 确保索引一致
  • 空数据阻塞流程run_full_audit 开头增加空数据快速返回
  • YL-005 规则字段名不匹配 → 使用 实际计薪出勤天数 > 应计薪出勤天数 而非 班天数合计
  • RL-004 字段缺失时仍触发 → 字段不存在时跳过,不报误判
建议反馈