第五十六章 工作流十:社保与员工名册比对
什么时候用
劳动人事模块,拿到员工名册和社保缴费明细,要算历史欠账。三种场景会用到:拟上市或并购,买方要求量化补缴风险;目标公司用工人数与社保缴费人数差距明显;员工访谈里出现「公司让我们自己交」「保险在外地上的」这类说法。
需要的材料至少三份:员工名册、社保缴费明细、工资表。只有前两份也能做,但基数差算不准——基数差要用当月应发工资减缴费基数,没有工资表就只能比人数、比月份。公积金如有,一并给,算法一样。
三份材料的时点要对齐。名册截至某一天,缴费明细到某个月,工资表按月出,三者的截止时点不一致,匹配时就会冒出一批「名册有、缴费无」的人,其实只是月份没对上。给材料时把截止时点写清楚,让它先做时点校准。
这一步的最终产出,是报告里一段能回答三个问题的文字:欠了多少(估算差额)、欠在谁身上(人群分布)、为什么欠(性质分类)。三个问题答不齐,数字算得再准也没用。
指令
你是我的尽调助理,只做名单匹配和差额计算,不做法律判断。
【材料】
材料一:员工名册(截至 2026-09-30),字段:工号、姓名、身份证号后六位、
部门、岗位、入职日期、离职日期、月应发工资、参保地、参保状态、
用工形式(全日制、非全日制、劳务派遣、退休返聘、实习、其他)。
材料二:社会保险缴费明细(2024-01 至 2026-09),字段:姓名、
身份证号后六位、缴费月份、缴费基数、单位养老、单位医疗、单位失业、
单位工伤、单位生育、个人养老、个人医疗、个人失业、缴费单位。
材料三:住房公积金缴存明细(同期,如有)。
材料四:工资表(同期,按月,含应发、代扣社保、代扣公积金、个税、实发)。
【费率】由我提供,未提供的写「费率待定」,不要自行取数:
单位部分:养老 16%、医疗 __%、失业 __%、工伤 __%、生育 __%。
个人部分:养老 8%、医疗 __%、失业 __%。
【任务】
1. 匹配:以「姓名 + 身份证号后六位」为键,匹配名册与缴费明细。
匹配不上的单列,不要按姓名猜测,不要跨人合并。
2. 生成三张表:
表一 应缴未缴:名册内当月在职、当月无任何缴费记录的人员,
按月统计,列连续未缴月数。
表二 基数不足:有缴费记录但缴费基数低于当月应发工资的人员,
逐月列基数差。
表三 断缴:有缴费记录但中间月份缺失的人员,列缺失月份及前后基数。
3. 估算差额:
基数不足的单位差额 = Σ(应发工资 − 缴费基数)× 单位费率合计;
应缴未缴的单位差额 = Σ 月应发工资 × 单位费率合计;
个人部分单独计算、单独列示,不并入单位差额。
4. 汇总:涉及人数、涉及人月数、单位差额估算、个人差额估算。
【输出】
三张明细表加一张汇总表;明细表按差额从大到小排序;
金额单位为万元,保留两位小数;每张表注明统计期间。
【边界】
- 工资为空白或 0 的月份,标注「工资数据缺失」,不计差额。
- 匹配不上的写「未匹配」,不推测是哪个人。
- 不判断未缴是否合法、是否构成重大瑕疵、是否需要补缴。
- 不估算滞纳金、罚款,不引用法条。
- 不把差额表述为「赔偿金额」「应付金额」「欠款」。
它会给出什么
三张表加一张汇总。表一大致这样:
| 姓名 | 部门 | 岗位 | 入职日期 | 未缴期间 | 月数 | 月工资 | 单位差额估算 |
|---|---|---|---|---|---|---|---|
| 张某 | 生产部 | 操作工 | 2019-03 | 2024-01 至 2026-09 | 33 | 0.62 | 3.27 |
| 王某 | 生产部 | 操作工 | 2020-07 | 2024-01 至 2026-09 | 33 | 0.58 | 3.06 |
| 李某 | 仓储部 | 库管 | 2023-05 | 2024-01 至 2025-12 | 24 | 0.55 | 2.11 |
表二:
| 姓名 | 缴费月份 | 应发工资 | 缴费基数 | 基数差 | 单位差额 |
|---|---|---|---|---|---|
| 赵某 | 2025-06 | 1.20 | 0.48 | 0.72 | 0.12 |
| 陈某 | 2025-06 | 0.95 | 0.48 | 0.47 | 0.08 |
表三:
| 姓名 | 断缴月份 | 断缴前基数 | 断缴后基数 | 断缴月数 |
|---|---|---|---|---|
| 刘某 | 2025-03 至 2025-04 | 0.60 | 0.60 | 2 |
汇总会写成一段:
统计期间 2024-01 至 2026-09。涉及 37 人:应缴未缴 12 人、268 人月;基数不足 21 人、412 人月;断缴 4 人、9 人月。单位应缴差额估算 86.40 万元,个人应缴差额估算 31.20 万元。另有 5 人未匹配,需补充身份证号或确认是否已离职。
产出里最有用的不是总额,是「未匹配」那一栏。它通常意味着三种情况:名册与缴费明细用了不同的姓名写法、身份证号缺失或错位、这批人根本不在缴费名单里。第三种就是问题。
汇总表要能一页放下,且能直接搬进报告。它至少要有四行:应缴未缴、基数不足、断缴、未匹配;每行四个数:人数、人月数、单位差额、个人差额。少一行,报告里就要另起一段解释,反而更费事。
怎么判断
能直接用的:名单匹配、月份比对、基数差计算、按给定费率估算。这几步是机械动作,它做得又快又齐,尤其人数上百、月份三十几个月的时候,人手算必错。
必须问清楚「为什么没缴」。同样是「应缴未缴」,性质完全不同:
- 退休返聘:已享受养老保险待遇,通常不再建立劳动关系,不缴有其依据,但要核退休证和返聘协议。
- 实习生:在校生实习,通常不缴,要核学籍证明或三方协议。
- 非全日制:按小时计酬、每日不超过约定工时,通常只需缴工伤,要核考勤和合同。
- 劳务派遣:由派遣单位缴,要看派遣协议和派遣单位的缴费记录,不能只看本公司名册。
- 外地参保:在异地缴纳,要异地缴费记录,不能因为本地查不到就认定未缴。
- 员工自愿放弃:企业常能拿出一摞放弃声明。这类声明通常不能免除单位的法定缴费义务,仍属未缴;但它影响主观过错和整改态度,是另一个层面的事,具体效力回权威源核。
- 挂名或代缴:名册有人、实际不在岗,或者公司替非员工缴,方向相反,也要单独列。
这张分类表要你在访谈里问出来,AI 问不出来。它只能按名册上的「用工形式」字段分组,字段空着,它就分不了。
基数口径要自己定。应发工资是否含奖金、加班费、津贴、年终奖,各地口径不完全一样。很多企业按最低基数缴,这是基数不足最常见的成因,不一定有恶意,但差额是实打实的。年终奖是否计入缴费基数,要按参保地口径核,不要一刀切。
还有一个容易漏的点:缴费基数有上下限,通常按当地上年度职工平均工资的一定倍数设定。工资高于上限的,按上限缴不算基数不足;工资低于下限的,按下限缴也不算。让 AI 直接拿应发工资减基数,会把这两类人误判成基数不足。给它基数上下限,或者让它把「基数高于应发」和「基数低于应发」分开列,都能避免这个错。
公积金可以并进来算,但要单独成表。公积金的比例、基数口径与社保不完全一样,缴存比例有区间,是否强制缴存各地执行力度不同。混在社保差额里算,会得出一个既不是社保也不是公积金的数。分开列,报告里也分开写。
差额不等于赔偿,也不等于补缴额。补缴金额由社保经办机构核定,可能按当年基数、按现行费率,还可能加收滞纳金;员工主张的是另一套算法,可能涉及解除合同的经济补偿。报告里只能写「按现有材料估算的差额」,不能写成「应付」或「赔偿」。
它做不到的:判断未缴是否构成重大违法、是否影响上市或交割;核定实际补缴金额;核实名册真实性(有没有挂名、吃空饷);判断用工性质到底是劳动关系、劳务关系还是外包;发现异地参保和居民社保混缴。这些都要人查、人问、人判断。
追问示例
第一轮:按岗位和入职年限分组
请把三张表合并,按部门和入职年限分组统计:每组人数、未缴人数、未缴人月数、差额估算。入职年限按 2020 年前、2021 至 2022 年、2023 年以后分三档。
产出:
生产部一线操作工 9 人未缴,占未缴人数 75%,平均入职 4.2 年,差额估算 61.30 万元;仓储部 2 人,差额 9.80 万元;管理岗 1 人,差额 2.40 万元。
按年限:2020 年前入职 8 人全部未缴;2021 至 2022 年入职 3 人未缴;2023 年以后入职仅 1 人未缴,且为断缴而非全程未缴。
这一问把「37 人、86 万」变成一个有形状的结论:未缴集中在早期入职的一线操作工,2023 年以后基本规范。整改难度和谈判空间,都从这个形状里看得出来。
第二轮:按可能性质分类,列补充材料清单
请把 12 名应缴未缴人员按名册上的用工形式分类;用工形式为空或写「其他」的,单列。对每一类,列出需要向公司补充的材料。
产出:
退休返聘 2 人:需退休证、返聘协议、养老金领取记录。
实习 3 人:需学籍证明、三方协议、实习协议。
外地参保 4 人:需异地缴费明细、参保地证明。
用工形式空白 3 人:需劳动合同、工资发放记录、考勤记录,先确认劳动关系性质。
第三轮:要它自查匹配风险
请检查这次匹配,列出最可能导致误判的三种情况。
产出:
一、同名同姓。名册中有两个「张某某」,身份证号后六位不同,若按姓名匹配会合并为一人。本次已按身份证号后六位匹配,但仍建议用完整身份证号复核。
二、离职减员滞后。员工离职后单位可能延迟一至两个月办理减员,这期间显示为「已缴」,实际人已不在职;反向也可能显示断缴,实际是减员时点差。
三、工资表与名册月份口径不一致。名册的「月应发工资」是当前工资,工资表是历史逐月工资;用当前工资乘全部未缴月份,会高估早期差额。
第三轮这三条都很实在,尤其第三条——很多人直接拿名册上的现行工资乘月数,把早年低工资的月份也按现工资算,差额虚高。
常见误用
误用一:把差额直接当赔偿金额。
算出 86 万,就在报告里写「存在 86 万元补缴风险」,甚至写「可能面临 86 万元赔偿」。这两个数不是一回事。补缴要社保机构核定,含滞纳金;员工索赔要另算,可能主张经济补偿;行政处罚是另一笔。报告里写「按现有材料估算的差额」,并注明不含滞纳金、罚款和员工主张。
误用二:忽略员工自愿放弃社保的声明无效这一层。
公司拿出一摞员工签字的放弃声明,说「是他们自己不愿意缴」。这类声明通常不能免除单位的法定缴费义务,未缴的事实不变;但它是主观过错和整改态度的证据,谈判和处罚裁量时会用到。正确做法是:把声明作为一类单独统计,注明人数和金额,同时在报告里说明其效力问题,不能因为有声明就从欠账里剔除。
误用三:只比在职人员,漏掉离职人员。
历史欠账的大头常在离职人员——在职的还要继续缴,离职的可能已经去投诉了。名册要包含报告期内全部曾任职人员,包括已离职的;缴费明细也要拉全期间。只比当前在职的几十个人,算出来的数字会明显偏小。
自检
- [ ] 三份材料的截止时点对齐了吗?有没有做时点校准?
- [ ] 匹配用的是身份证号而不是姓名吗?同名同姓排除了吗?
- [ ] 应缴未缴、基数不足、断缴三张表都生成了吗?
- [ ] 单位部分和个人部分分开算了吗?
- [ ] 未缴人员按性质分类了吗?退休返聘、实习、派遣、异地参保各有依据吗?
- [ ] 自愿放弃声明单独统计了吗?有没有说明其效力?
- [ ] 名册包含离职人员了吗?
- [ ] 报告里写的是「估算差额」还是「赔偿金额」?