一、四次卡和六次卡差在哪
| 类型 | 打卡次数 | 典型班次 | 要扣的休息 |
|---|---|---|---|
| 两段(普通班) | 2 次 | 09:00-18:00 | 午休 12:00-13:00(班次里配好,不打卡) |
| 四段 | 4 次 | 08:00-12:00、13:30-17:30 | 午休按实际打卡(午休出去刷一次、回来刷一次) |
| 六段 | 6 次 | 再加 18:00-20:00(晚餐 17:30-18:00) | 午休 + 晚餐两段 |
区别不只是"多打几次卡":四次卡/六次卡的公司,休息时间是按实际打卡算的,而不是班次里写死的固定时段。这意味着午休长短会直接进工时,也意味着漏打一次午休卡就会让当天的工时算不准。
二、槽位匹配:为什么不能按下标顺序塞
一个六段班次有 6 个槽位:
am_in(上午上班)→ am_out(上午下班)→ pm_in(下午上班)→ pm_out(下午下班)→ dinner_in(晚间上班)→ dinner_out(晚间下班)
很多 Excel 模板的做法是"按打卡先后顺序依次填入槽位"。这在人守规矩的时候没问题,但真实数据里总有例外:
- 有人上午早到,在 07:40 和 07:52 各打了一次(连刷两次);
- 有人中午没出去,只打了
am_out没打pm_in; - 有人午休回来早了,13:10 就打了一次,而下午上班是 13:30。
这时"按下标顺序"会整体错位——第二次打卡被填进 am_out,后面五段全部串位。正确做法是按每个槽位的合理时间窗口去匹配:上午下班卡必须落在中午附近,下午上班卡必须落在午休结束前后,超出窗口的卡不占用该槽位。
三、完整例子:一个六段班次走一遍
班次设置:上午 08:00-12:00,下午 13:30-17:30,晚间 18:00-20:00;午休 12:00-13:30、晚餐 17:30-18:00;最小加班单位 30 分钟、不足不计。
某员工当天打卡:07:56、12:03、13:26、17:34、18:02、20:15
| 槽位 | 打卡 | 判定 | 计入工时 |
|---|---|---|---|
| 上午上班 | 07:56 | 早到 4 分钟,按 08:00 起算 | 08:00 → 12:00 |
| 上午下班 | 12:03 | 正常(3 分钟不算早退,也不计加班) | — |
| 下午上班 | 13:26 | 早到 4 分钟,按 13:30 起算 | 13:30 → 17:30 |
| 下午下班 | 17:34 | 17:30 下班,超 4 分钟不足最小单位 | 不额外计 |
| 晚间上班 | 18:02 | 正常 | 18:00 起算 |
| 晚间下班 | 20:15 | 超 15 分钟,不足 30 分钟不计加班 | 计到 20:00 |
当天实际出勤工时 = 4 小时(上午)+ 4 小时(下午)= 8 小时,休息 1.5 + 0.5 = 2 小时不计。晚间那段如果制度规定 18:00-20:00 本身就属于正常班(比如两班倒的第二段),就是 10 小时;如果属于加班时段,则按加班规则单独计。
四、四种常见异常的判定方式
| 情况 | 常见处理 | 注意 |
|---|---|---|
| 中午只打了一次卡 | 算缺卡 1 次(缺下班或上班那一次) | 不要判成旷工半天,除非制度明确这么规定 |
| 整段都没打(下午 2 次卡都没有) | 按缺勤/旷工处理,工时不含该段 | 需要和请假数据比对,可能是请了半天假 |
| 同一时刻打两次 | 去重,只算一次 | 设备抖动很常见,不去重会多算出一段工时 |
| 多打了一次(比如外出回来) | 不占用已填满的槽位,作为多余卡忽略 | 领导特批的"外出"应走请假/出差申请,而不是靠多打卡 |
五、四段/六段最容易算错的两处
1. 把休息时间算成了工时
四次卡的意思是"中午出去吃饭刷一次、回来刷一次",这两次之间的时间不是工时。如果按"上班卡到下班卡"直接相减,等于每天都白送 1~1.5 小时。
2. 加班起算点用错了基准
六段班次里,"晚间上班"是 18:00。如果当天员工没吃晚饭、17:35 就继续干活,加班应该从 17:30(下班时间)起算还是 18:00(晚间上班)起算?这取决于制度,但系统必须允许按公司口径配置,并且要求"晚餐时段确实打过卡(即确实离开过)"才按 17:30 起算,否则会出现"没离开工位却算加班"的情况。
把这四类卡、六个槽位、两种休息都处理对,四段和六段考勤就基本不会出错了。剩下的就是每月复核——重点看缺卡的人和跨凌晨班的人。
