上下班打卡
员工自行标记上班和下班——这些标记会立即成为考勤表中的事实(“员工”版块的计划-实际选项卡),并据此计算工资。时间始终由服务器设置:无法通过设备“篡改”。
打开:管理后台 → 员工 → 我的工作台(员工)和员工 → ⚙ 排班与打卡设置(所有者、经理——仅查看)。
考勤表中包含什么#
考勤表中的一次班次由计划(如果该班次已排入排班表)和实际组成:上班、下班和休息时间。实际始终有一个来源:
| 来源 | 事实如何产生 |
|---|---|
| 员工本人 | 个人工作台中的“我已到岗”/“我已离岗”按钮——通过手机或公用电脑 |
| 门店终端 | 平板终端上的 PIN 或门店显示器上的 QR(见下文) |
| 收银 | 同事通过其 PIN 在公用 POS 终端上打卡,或由经理操作 |
| 设备在场 | 自动考勤:服务员登录平板即视为在班(门店选项) |
| 手动 | 所有者或经理在计划-实际中修正时间 |
手动修改始终“优先于”自动化:修改后,自动化不再改动该班次。
如果员工在没有排班计划的情况下上班,打卡会创建一个计划外班次——它在计划-实际中带有单独标记。
通过员工手机打卡#
在我的工作台的“今天”区块中——显示状态(“不在班”/“自 09:02 起在班”/“9 月 18 日以来的班次未关闭”)和按钮:
- 我已到岗——开启班次:如果今天有计划班次,实际会关联到该班次,否则创建计划外班次;
- 休息 / 已返回——班次内的实际休息;如果休息在下班时未关闭,则以离开时间关闭;
- 我已离岗——关闭已开启的班次(包括昨天开始的夜班,以及遗忘数日的班次:此类班次的“今天”只显示此按钮和关于修正的提示)。
忘记打卡——工作台中有**“忘记打卡”**:提交考勤修正申请,由经理确认。
允许打卡的地点:地理位置或终端#
“排班与打卡设置”中的**“打卡门槛”**设置决定是否接受来自任何地点的打卡:
| 模式 | 行为 |
|---|---|
| 关闭 | 接受来自任何地点的打卡,无检查 |
| 警告(默认) | 员工浏览器传递地理位置;距门店 300 米以外的打卡仍通过,但会标记“在门店外”——经理在计划-实际中可见 |
| 严格 | 超出指定半径的打卡被拒绝,并显示文本“您在 800 米处,允许 300 米”。无地理位置(浏览器已禁止)——同样被拒绝。同事通过收银 PIN 打卡——同样被拒绝:PIN 确认的是谁在打卡,而非在哪里打卡;需将收银绑定为终端(见下文)或允许其使用地理位置 |
| 仅限门店终端 | 仅接受已绑定设备的证明——物理放置在门店内的平板、智能手机或显示器。不询问地理位置 |
地理检查将浏览器坐标与班次门店的坐标(在门店卡片中设置)进行比较。如果门店没有坐标——无法按地点检查门槛,打卡通过。
门槛不必对整个门店统一。 在下方**“按门店和职位覆盖”**区块中,模式、半径和自动关闭可针对具体门店和具体职位单独设置:
- 点击**“+ 添加覆盖”,选择“门店”或“职位”**,然后选择具体项(门店来自您的门店列表,职位来自有员工的职位)。
- 仅填写需要不同的项。保留为**“同账户”**的所有内容继续取自上方设置——这不是“已关闭”。
- 保存:该区块自行保存,独立于整个面板的“保存”按钮。
如果有多条规则,优先级为:员工职位 → 班次门店 → 账户,且按每个字段单独判断。也就是说,“中心门店——严格,80 米”和“快递员门槛关闭”同时意味着:该门店的服务员在 80 米内打卡,而快递员可从任何地点打卡,因为其职位优先于门店规则。
门店终端:绑定平板或显示器#
终端是留在门店内的任何带浏览器的平板、智能手机或电脑。一个账户可以绑定多个终端(每个门店一到两个)。
- 在将成为终端的那台设备上打开管理后台 → 员工 → ⚙ 排班与打卡设置。可以使用所有者、经理或设备代码登录。
- 在**“打卡终端”区块中点击“绑定此设备”**,为它命名(“入口处的平板”),并可按需选择门店。
- 设备会获得自己的密钥并保存在浏览器中——密钥不再传给服务器,也不对外显示。“此设备是终端……”提示条和**“打开终端屏幕”**按钮会立即出现。
- 将打卡门禁切换为**“仅限门店终端”**并保存。
- 打开终端屏幕(
/clock-terminal)并保持开启:屏幕不会自动熄灭,模式(平板或显示器)会记录在地址中。
指定了门店的终端只接受该门店班次的上班打卡:在其他门店的班次会被拒绝,提示“今天的班次在其他门店”。从门店终端开始的排班外班次会自动获得该门店。
可以从同一列表中撤销终端:使用旧密钥的设备在下一次打卡时会被拒绝。如果清除网站数据,浏览器中的密钥会被删除——此时只需重新绑定设备。
列表中每个终端下方会显示最后一次打卡的时间(“5 分钟前”“3 小时前”)或“尚未使用”。如果终端超过一整天没有动静,该行会以警告高亮——请检查平板是否开机、是否联网,以及是否打开了终端屏幕。
“平板”模式:PIN 键盘#
终端屏幕上有四个大按钮——我来了、我走了、休息、休息归来。员工点击所需按钮并输入自己的收银员 PIN(4–6 位数字,在员工卡片中发放)。无需在列表中查找,也无需登录:PIN 在账户中唯一,服务器会自动识别是谁打卡——屏幕上会显示几秒钟“安娜:上班打卡已记录于 09:02”。
错误的 PIN 会被中性的“PIN 错误”拒绝并带有延迟,而在一刻钟内失败十次后,终端(或使用手机输入 PIN 的员工)会被锁定 15 分钟——尝试破解他人 PIN 毫无意义。所有错误都会用文字说明:“上班打卡已记录”“当前没有休息”“月份已关闭”“9 月 17 日的班次未关闭”。
“显示器”模式:屏幕上的 QR#
终端会显示一个每 30 秒更新一次的大 QR 码。员工用自己的手机摄像头扫描它——会打开其个人账户,显示绿色提示条“门店终端已确认”以及常规按钮“我来了”/“我走了”。不会询问地理位置:屏幕上的代码已经证明此人正站在显示器前。
代码在显示后约两分钟内有效:没来得及——提示条会变为“QR 码已过期,请重新扫描”。一次扫描只够一次打卡。
每个 QR 都是一次性的。 显示器每 30 秒从服务器重新获取代码,第一次打卡后代码会在服务器上失效:转发出去的屏幕截图只能生效一次——给第一个打开它的人——且仅在有效期内;第二个人会收到账户的回复“终端未确认,请重新扫描”。如果显示器断网,它会显示旧版代码(同样有效两分钟,但不是一次性的)——入口处的屏幕不会失明。
此模式适用于任何没有触摸屏的屏幕——入口处的电视、吧台上的显示器——并且除了员工本来就用它登录账户的手机外,不要求员工有任何其他东西。工时不会转给拍下屏幕的人:代码是一次性的且只存活两分钟,而打卡来自员工的个人登录。
以最低成本登记下班的方式#
下班比上班更容易被忘记:人累了就走了。Cenaly 有几种关闭班次的方式,可以组合使用——从最省事到最精确:
| 方式 | 需要什么 | 精确度 | 何时启用 |
|---|---|---|---|
| 按排班自动关闭 | 无需任何东西:账户设置 | 计划下班时间 | 只要维护排班就始终作为保险 |
| 按上限自动关闭 | 同一设置 | 上班 + N 小时 | 用于排班外班次,避免它们悬置数周 |
| 手机上的“我走了” | 个人登录 | 分钟 | 默认对所有人可用 |
| 终端上的 PIN | 出口处的平板 | 分钟 | 当需要在下班地点打卡时 |
| 显示器上的 QR | 任何屏幕 | 分钟 | 当没有平板而每个人都有手机时 |
| 同事从收银处代打卡 | POS 终端 | 分钟 | 收银员下班并关闭现金班次时 |
| 设备在场 | 服务员平板连接门店 Wi-Fi,门店选项 | 平板最后一次信号 | 为有平板的营业厅提供全自动考勤表 |
| “忘记打卡”更正 | 员工申请,经理决定 | 以员工所述为准 | 始终作为最后一道防线可用 |
有意未实现的功能:手机后台定位(浏览器中没有,而班次结束后仍跟踪员工的应用涉及隐私问题)和生物识别(需要单独硬件且对个人数据有更高要求)。
忘记班次的自动关闭#
“排班与打卡设置”中的**“忘记班次的自动关闭”**区块:
- 自动关闭未结束的班次 — 开关,默认关闭;
- 计划结束后等待,分钟 — 宽限期(默认 30):如果在这段时间内计划结束后没有收到下班打卡,班次将按计划结束时间关闭,而不是当前时间——自动机制不会凭空多算超出排班的工时;
- 排班外班次上限,小时 — 适用于没有排班或已在计划结束后才开始的班次:在上班打卡后 N 小时关闭(默认 12;0 — 不处理,这类班次将留在计划-实际的“未关闭”列表中)。
自动关闭同样可以被覆盖:在“按门店和职位的覆盖”区块中,可以为门店或职位设置自己的宽限期和上限(例如,配送员 — 8 小时而非 12 小时),或者只在某一个门店启用自动关闭,其余门店保持关闭。
检查每 30 分钟运行一次。被自动关闭的班次在考勤表中标记为**“⏱ 自动关闭 · 等待确认”**(提示中说明具体原因——排班还是上限),员工会在工作聊天中收到通知:“未标记下班——班次已按排班于 18:00 自动关闭。请在‘我的工时’中确认时间;如果实际下班时间不同,请提交更正”。手动修改时间会移除该标记。已关闭的月份和按出勤自动生成的班次,自动机制不会改动。
推算出的时间只是假设,而非打卡记录,因此必须由人工确认:
- 员工在**“我的工时”中会看到这类班次有两个按钮:“正确”** — 时间按原样确认,以及**“指定下班时间”** — 会打开一个带有推算时间的窗口,员工在其中填写实际时间;主管会收到常规的更正申请,工时将在申请批准后变更;
- 主管在关闭周期时会看到异常**“自动关闭的班次未确认”,并通过“按原样确认”**按钮处理——只要该异常未处理,周期就不会关闭;
- 在工资草稿中,带有这类班次的员工行会标有徽章 ⏱ n — 金额按推算工时原样计算,徽章仅提醒这些工时是假设的。
确认后,标记变为**“⏱ 自动关闭 · 已确认”**(提示中显示确认人)。对于堂食和配送,班次自自动关闭那一刻起即已关闭——确认仅涉及考勤表和工资。
事实来源与工资#
工资按考勤表中的工时计算,因此每条事实都保存其来源,计划-实际通过标记显示:出勤显示“📡 自动”,自动关闭显示“⏱ 自动关闭”,远距离打卡显示“不在门店”标志。确认打卡的终端也会记录到班次中。经理在计划-实际中看到所有这些,员工在**“我的工时”**中看到,双方都可以在月份关闭前发起更正。
计划-实际中每条有事实的班次都有一个 🕘 **“打卡历史”**图标:该班次的完整尝试列表——时间、操作(上班 / 下班 / 休息)、操作人(员工本人、按姓名显示的管理员或自动机制)、来源(手机、收银、按名称显示的终端、自动关闭)以及结果——已记录或拒绝及原因(PIN 错误、“仅限终端”、不在门店)。拒绝也会保存:同一台平板上的连续 PIN 错误会立即显现。
打卡在断网时不会丢失:如果手机未等到服务器响应,应用会自行重发同一请求,服务器识别出重复请求,不会记录第二次打卡——您会看到同一个班次,而不是“已打卡”错误。
常见问题#
没有登录名的员工可以打卡吗?#
在终端上可以:平板接受任何已获发 PIN 的员工,无需登录名。用手机和通过 QR 则不行:那里的打卡基于个人登录名。
如果终端坏了或被拿走了怎么办?#
在终端列表中将其撤销,并暂时把门禁切换为“严格”或“提醒”——员工用手机打卡。忘记的班次将由自动关闭处理。
可以只为一家门店启用终端吗?#
可以。在“排班与打卡设置”中打开 “按门店和职位的覆盖设置” → “+ 添加覆盖设置” → “门店” → 选择所需门店,并为其设置门禁 “仅限门店终端”。账户的全局设置保持不变(例如“提醒”),没有终端的门店照常运行。
用同样的方式可以在门禁造成妨碍的地方取消它:为职位 “快递员” 设置值为“已关闭”的覆盖设置,即可允许快递员在任何地方打卡,即使整个账户都设为“严格”。职位优先于门店,门店优先于账户。
员工通过 QR 进入,但没有点击“我已到岗”#
什么都不会发生:扫码只确认在场,打卡本身由按钮完成。两分钟后代码失效,需要重新扫描。
自动关闭会虚增工时吗?#
自动程序不会凭空多算超出排班的工时:按排班,班次以计划结束时间关闭,即使检查触发得更晚;按上限,则正好在设定的小时数后关闭。但自动程序并不知道人实际何时离开:早于计划离开的人,工时会被计到计划结束时间;晚走的人,也只计到计划结束时间。因此得出的时间不是事实,而是等待确认:班次会标记为“⏱ 已自动关闭 · 等待确认”,员工会收到通知,并在“我的工时”中点击“正确”,或点击“填写离开时间”并填入实际时间(会生成更正申请,由经理审批)。在班次确认之前,工资草稿中的该行会被标记,期间也不会关闭——负责人用“按现状确认”按钮处理这类班次。如果经理在此之后自行重新打开了班次(撤销了错误的离开时间),自动程序便不再改动它。
昨天忘记打下班卡——今天“我已到岗”无法使用#
一名员工只能有一个未关闭的班次。账户、终端和前厅面板的“日”标签页会显示具体是哪一个未关闭(“9月17日的班次未关闭”):点击“我已离开”(在收银上为员工行中的“已离开”)——该班次会以当前时间关闭,然后打上班卡,并提交昨天离开时间的更正申请。为避免再次发生,请启用自动关闭。
“本月考勤表已关闭”——账户里有按钮,但打卡无法通过#
已关闭的月份不接受任何内容:既不能打上班和下班卡,也不能修改班次,还不能提交更正申请——其中的工时已最终确定,工资已按此计算(该月份的忘记班次自动关闭也同样不生效)。考勤表由负责人关闭——在计划-实际中用 “关闭考勤表” 按钮,或在确认考勤表时用 “关闭期间” 按钮。这对 当前 月份同样适用:月中关闭后,到月底都无法打卡。只有 账户所有者 才能解除锁定(在同一位置的“打开考勤表”按钮)——关闭了期间的经理已无权操作。因此账户对员工的回复是“请所有者重新打开它”,而不是“请自行打开”。