2025年4月28日·阅读约1分钟

带加班规则的工时表应用:每周提交与审批

构建一款带加班规则的工时表应用,支持每周提交、经理审批,并导出已批准的工时供工资使用。

带加班规则的工时表应用:每周提交与审批

这个工时表应用需要解决的问题

带加班规则的工时表应用,核心不是简单地记录时间,而是避免混乱、减少薪资错误,并为所有人提供一致可预期的流程。

当工时记录分散在电子表格或聊天消息时,小问题会迅速堆积。人们使用不同的模板、忘记记录休息时间,或在无人注意时修改条目。经理们花时间追踪缺失的工时,而不是检查整周是否合理。到了发薪日,你只能拼凑零散信息,希望和员工记忆一致。

加班是争议的高发区。如果规则不一致(或无法被人们理解),两位工作相同班次的员工可能会拿到不同的工资。即便大家本意良好,不清晰的规则也会带来返工:重新计算、回溯修改和尴尬对话。

审批是钱款变动前的重要安全门。经理审批步骤确认该周已完整、工作或项目代码(如果使用)合理,加班有据可查。它也产生了明确的“这是最终结果”时刻,避免财务从仍在编辑的草稿中拉数据。

每周提交应当成为一个简单习惯:所有人都在一个定义好的工作周内(例如周一到周日)记录,按明确截止时间提交(例如周一上午10:00),并在截止前收到提醒。提交后,编辑应被阻止或需重新审批,状态应一目了然(草稿、已提交、已批准、已拒绝)。

核心需求与边界

这种应用只有在大家事先就基本规则达成一致时才会起作用:何时提交、谁可以更改哪些内容、什么算作加班。如果不提前设定边界,应用会变成每周的争论场。

从提交节奏开始。对大多数团队来说,每周提交能保持简单:大家可在一周内录入时间,然后统一提交一次。关键的边界是是否允许提交后编辑。常见规则是:条目在按下“提交”按钮前可编辑。

加班规则必须毫不含糊。决定加班是按日触发(例如单日超过 8 小时)、按周触发(例如一周超过 40 小时),还是两者兼顾。如果两者都适用,要说明重叠时哪个规则优先,以免重复计算加班。

经理审批应保持闭环且快速:批准(工时成为最终数据)、要求修改(员工修改并重新提交)、或拒绝(员工修正并重新提交)。

一旦批准,就锁定该周期。锁定可以防止临时修改,确保工资数据一致。如果需要更正,则使用“带原因解锁”的操作,记录谁解锁以及原因。

工资导出应只包含已批准工时。把它当作硬性边界:任何未批准的记录即便看起来完整也不得导出。

应捕获的数据(别搞得过于复杂)

目标不是把一切都记录下来,而是记录足够的信息来计算工时、应用政策并证明谁批准了什么。

从角色开始。大多数团队需要三类角色:录入工时的员工、审批的经理,以及能导出并处理设置的财务或管理员。保持权限简单,避免阻塞流程。

最低记录项

按三层思考:人员、周工时表和单条时间记录。

为每个人存储基础信息(姓名、员工编号或邮箱、角色、经理、团队或成本中心)。每个工时表需存储所有者、周起始日期、本周使用的时区和状态(草稿、已提交、已批准、已拒绝)。每条时间记录需包含日期、开始时间、结束时间、休息分钟、项目或任务、以及简短说明。

你还需要日历设置,比如周起始日(周一或周日)和用于规则的时区。如果财务需要,可加入可选的上下文字段,如地点或部门。

你会感激的审批与审计字段

审批是争议发生的地方,所以保留一条简单而清晰的审计记录:

  • 提交时间、提交人
  • 批准时间、批准人
  • 拒绝时间、拒绝人、拒绝原因
  • 最后编辑时间、最后编辑人
  • 锁定标记(以在批准后阻止编辑)

举例:一位在 Berlin 的员工在周日晚提交。如果你为该周存储了使用的时区,就能避免经理在 New York 看到的提交时间落在星期一的经典问题。

如果只捕获这些字段,你就可以运行加班规则、路由审批并向工资系统导出干净的总数,而不会把应用变成复杂的人力系统。

先用自然语言定义加班规则

把政策写成任何人都能读懂的简单句子。如果你无法清晰解释,应用会在工资上制造惊喜。

先选触发条件:日加班(超过每天 8 小时)、周加班(超过每周 40 小时),或两者兼顾。如果两者都用到,决定计算顺序。常见做法是先计算日加班,然后在剩余的正常工时上计算周加班。

明确哪些时间计入工时。无薪休息会改变结果,所以要明确说明:“午餐为无薪,不计入工作时间。”如果你要取整,也要写清楚,例如:“每次打卡按最接近的 5 分钟取整。”长期看,小小的取整规则会累计出明显差异。

然后覆盖特殊日:周末、节假日和出差时间通常有不同的计薪规则。即便你不额外支付,也要写明:“周六工时与工作日按同样规则处理,除非每周总工时超过 40 小时。”

可以复制并改写的策略句子:

  • “加班指单日超过 8 小时的工作时间。”
  • “周加班仅在排除已计为日加班的工时后,超过 40 小时的正常工时上适用。”
  • “无薪休息不计入;带薪休息计入。”
  • “节假日工时按 1.5 倍支付且不计入周加班。”
  • “工作地点间的出差时间计入;从家到工作的通勤不计入。”

一旦这些句子达成一致,构建逻辑就只是把自然语言“翻译”成代码的过程,而不是再争论政策本身。

逐步流程:每周提交工作流

运行 2-4 周试点
和一个团队一起上线,执行 2–4 周试点,然后根据真实使用优化流程。
开始试点

当每个人都知道什么算作“本周”以及何时必须提交时,每周流程最顺畅。选定单一的周起始日(通常为周一)和明确的截止时间(例如员工时区的周一上午 10:00)。允许迟交,但要可见。

1)设定周周期与截止时间

把一周定义为固定的日期区间并存储在工时表上。这样在有人中途打开应用或出差时避免混淆。从第一天起就包含状态字段(草稿、已提交、已批准、已拒绝)。

2)构建员工工时界面(添加/编辑条目)

保持条目编辑简单:日期、开始时间、结束时间(或总小时)、休息时间、项目或成本代码(如需)、以及简短说明。允许员工复制昨日条目并编辑。这个快捷功能可以显著减少每周的工作量。

3)显示自动汇总(正常工时 vs 加班)

随着条目增加,在顶部显示本周总计:总小时、正常小时、加班小时。拆分在周未完成前可以是估算,但应实时更新,让员工尽早发现错误。

如果必填字段缺失,显示明确警告,而不是让汇总看起来“正确”。

4)提交并锁定该周

提交应完成三件事:校验条目(无负时长、无重叠、必填项存在)、将状态改为已提交,并锁定编辑。如果需要更改,应通过“退回草稿”来处理(通常由经理退回或拒绝触发)。

5)通知经理并展示待处理队列

提交后,经理需要一个简单的队列:员工姓名、周区间、总小时、被标记的问题(例如缺少说明),以及快速审核界面。这也是在工时转为已提交时发送自动通知的合适位置。

逐步流程:经理审批流程

添加评论与时间戳
添加退回理由和审计记录,让争议更易解决。
构建工作流

经理打开一个界面时应能立刻看到需要处理的内容。显示一份已提交周的简短队列,每条含员工姓名、周区间、总小时、加班小时(如有)和是否有说明的快速指示。该摘要帮助经理在不逐日点开的情况下发现问题。

经理打开某周时,决策流程应保持一致:

  • 批准:锁定该周并标记为可供工资导出。
  • 退回:把工时退回员工并要求必须填写一条评论。
  • 拒绝:针对政策问题(缺勤、错误项目、疑似重复)使用。
  • 委派:经理外出时路由到备用审批人。

评论很重要。退回或拒绝时要求简短理由并与记录一同保存,让员工确切知道需要修正什么。

明确各决策后还能更改什么:退回或拒绝后,员工可编辑条目和说明并重新提交。批准后,默认应阻止编辑。如果允许更改,使用“重新打开该周”动作启动新的审批周期(如需,可要求第二次审批)。

为缺勤做准备:为每个团队(或每位员工)指定备用审批人,并允许 HR 或管理员在休假期间重新分配审批。

保留审计轨迹:谁提交、谁批准(或委派)、时间戳,以及简单的变更日志(哪个字段何时被改过)。

加班计算逻辑与边界情况

加班在遇到第一个复杂周时才显得并不简单。你需要一个数学上的唯一可信来源,并确保它与员工看到的、经理审批的以及工资导出的结果一致。

先决定从哪里计算:按日总计、按周总计,或两者结合。许多政策把每天前 8 小时视为正常时间,超过部分算作加班;也有政策只看每周总小时(例如超过 40 小时)。如果政策两者都用到,要定义计算顺序以免重复计入。一个实用方法是:先计算日加班,再在剩余的正常工时上计算周加班。

需事先处理的边界情况

这些情形通常会弄乱总计或引发争议:

  • 分段班次:一天内的两条独立记录应合并为当日总计。
  • 夜班跨日:把开始和结束都存为完整的日期时间值,而不仅仅是时刻。
  • 缺少结束时间:阻止提交或把该条目标记为不完整,避免虚增工时。
  • 重叠与负时长:阻止条目重叠或结束时间早于开始时间。
  • 取整规则:决定是对每条记录取整(例如 5 分钟)还是只对日总计取整。

人们在能看到清晰拆分时会更快自纠。显示每一天的正常小时、加班小时和无薪休息,然后给出周汇总。如果某处看起来异常,高亮出导致问题的具体条目(例如:“与 14:00 至 16:00 重叠”)。

在所有地方保持计算一致。员工界面、经理视图、报表和工资导出都应重用相同的加班逻辑。

向工资系统导出已批准工时

覆盖棘手的边界情况
用统一的计算流程处理分段班次、通宵工作和取整规则。
创建逻辑

财务通常不需要应用里记录的一切,他们需要一个可预测的文件,列名和顺序应与其系统期待的格式匹配,并按计划交付。提前决定这些细节,避免每周来回沟通。

先就导出格式达成一致。CSV 常用,因为大多数工资系统能导入,但真正关键的是字段列表和列名。如果财务要求列名为 EmployeeID,请严格匹配该名称。

一个实用的导出文件通常包含员工 ID(而非仅姓名)、周结束日期(或周起始与结束)、单独的正常工时和加班工时列、成本中心或项目代码(如需分配人工成本),以及批准时间戳和批准人 ID。

只导出已完全批准的周。把批准当作一道闸门:无批准则不导出。

更正是团队常卡壳的地方。一个清晰的做法是不在原导出记录上就地修改,而是生成一个工资可以导入的调整条目作为增量。例如,如果第 42 周最初导出为 5.0 小时加班但应为 4.0,小幅生成一条 -1.0 加班小时的调整记录并关联到原始周和员工。

把导出存为批次以便财务可以安全重跑。给每个批次一个导出 ID、生成时间以及使用的精确过滤条件(例如“导出已批准周,结束于 2026-01-18”)。如果财务不小心重复导入同一批次,导出 ID 能帮助检测重复项。

常见错误与陷阱

这类应用通常因为简单原因失败:不明确的“最终”状态、不清晰的时间边界、以及与财务期望不符的导出。

第一个陷阱是允许在周已批准后修改工时。表面上看很灵活,但会破坏对数据的信任。把“已批准”视为锁定。如确需更改,要求走更正请求并留下变更与原因的审计记录。

在期间中更改加班规则也是常见争议来源。如果政策在周三变更,记录生效日期和每周使用的版本,否则两人可能有相同工时但不同的加班结果。即便是简单的注记,比如“Policy v2 effective Jan 15”附在该周,也能避免很多争论。

时区决定也会悄悄毁掉总计。选定并坚持一种规则:使用员工本地时区,或公司工资时区。若不做任何处理,深夜班次可能会错入下一天,从而改变日总计与加班。

没有评论的审批浪费时间。经理退回或拒绝时,要求简短理由,让员工知道要改什么。

值得强制实施的几条规则:

  • 锁定已提交的周,除非经理退回。
  • 已批准的周保持锁定,除非通过有记录的更正流程解锁。
  • 给加班政策版本打标签并存储生效日期。
  • 决定一种时区规则并在工时表上显示。
  • 只导出完全批准的周(非已提交、非部分批准)。

在上线前的快速核查清单

自动化每周提交提醒
在截止前通过电子邮件、短信或 Telegram 发送催促提醒。
设置提醒

在任何人开始记录工时前,先就那些决定流程是否公平与可预期的设置达成一致。

锁定日历规则:周起始日(周一或周日)和提交截止时间(例如“请在下周一上午 10:00 前提交上一周”)。把这些写下来并在界面重复展示,避免人员猜测。

把加班政策用简单句写好,然后用真实例子测试。别只测试一个“正常”周。用 3 到 5 个场景测试,包括晚班、漏餐和分段班次。

保持上线检查务实:

  • 周起始日和提交截止已设置并已告知。
  • 加班规则已写明并用 3–5 个示例测试。
  • 经理能在审批前看到汇总和员工说明。
  • 工资导出仅包含已批准数据且可复现。

特别注意锁定规则。已提交应阻止编辑,除非经理退回。已批准应基本不可变,除非通过有记录的更正流程。否则工资数据会成为一个移动目标。

让工资导出变得乏味而可靠。对同一周期,导出应产生相同的数字;如果重跑上个月的导出结果发生变化,暂停上线并先修复问题。

一个现实的示例场景

从第一天就让状态清晰
构建草稿、已提交、已批准和已拒绝状态,让每个人都知道什么是最终结果。
创建应用

一个仓库团队在周一至周日的一周内对超过 40 小时的部分支付加班费,并且只支付已批准的工时。每位员工每周提交一次,经理须在周一中午前审批。

Jordan 上早班。到周五,Jordan 已记录 38 小时。周六为赶货晚班又加班 6 小时。周日晚,Jordan 审核本周记录,在周六条目附上一条短说明并提交,总计 44 小时。

周一早上,经理查看提交。应用显示简单的拆分:40 小时正常工时和 4 小时加班。经理注意到周六条目是在班次结束后创建,他要求说明细节。Jordan 发现开始时间早了 30 分钟,需要更正。

因为工时表已提交,更正需要走重新提交流程:经理以“修正周六开始时间后重提交”为由拒绝该工时表。Jordan 编辑周六条目并重新提交,加班重新计算为 3.5 小时。

经理批准后,财务获得该周的干净导出:员工 ID 和姓名、周起始与结束日期、已批准的正常工时与加班工时、可选成本中心或地点(例如 Warehouse A)、以及批准时间戳和批准人姓名。

上线后,团队跟踪几个简单指标:迟交率(在周日后提交)、退回率(经理退回工时的频率)以及从提交到批准的平均时间。如果这些数字上升,通常说明规则不清晰或提醒不足。

后续步骤与简单上线计划

把第一版当作受控测试,而非公司范围的切换。选择一个试点团队,团队内既有正常工时也含加班,用一条明确的加班政策开始。这样能让反馈集中,并验证端到端流程。

运行 2 到 4 个周的试点。那足够看到人们在哪儿犹豫、经理在哪儿卡住,以及工资导出是否符合财务期望。

一个实用的上线计划:

  • 对一个团队和一套加班政策做试点(第一周跳过特殊情况)。
  • 收集五个最常见的问题并修正导致这些问题的界面或标签。
  • 锁定责任:谁可以更新加班规则、薪资代码和审批设置。
  • 就工资导出日程达成一致(例如审批结束后每周一 9:00)。
  • 当手动导出在两个工资期内都正确无误后,再增加一项集成。

少量 UI 文案的改动能显著减少支持工单。保持提交流程简短,只在用户真的遇到问题的地方添加帮助文本。

提前决定谁负责政策更新。HR 可能负责加班定义,财务负责导出格式,经理负责审批。把这些权限写清楚,避免某个好心的管理员在发薪周期中期更改设置。

如果你想在不写自定义代码的情况下构建,AppMaster (appmaster.io) 是一个用于原型和发布的可选项,提供可视化数据模型、用于提交与审批的拖放工作流,以及 Web/移动 UI 构建器。从最小工作流开始,试点验证加班逻辑和工资导出与流程一致后再逐步扩展。

容易上手
创造一些 惊人的东西

使用免费计划试用 AppMaster。
准备就绪后,您可以选择合适的订阅。

开始吧
带加班规则的工时表应用:每周提交与审批 | AppMaster