人資出勤與排班系統開發指南:打卡方式、排班規則、請假加班簽核與薪資介接
每到月底,人資辦公室總會上演同一齣戲:把打卡機的紀錄匯出成試算表,一列一列對照紙本假單、加班申請單和主管的口頭交代,遇到漏打卡就要去追本人,遇到排班臨時換班就要問店長,最後還要人工算出每個人的加班時數交給會計。整個過程耗掉好幾天,而且只要一個環節出錯,就會變成員工薪資算錯的申訴。人資出勤與排班系統要解決的,就是把這一連串靠人工拼湊的工作,變成資料在系統裡自然流動。
出勤看起來只是「打卡」,但真正複雜的是打卡之後的事:這個時段算正常上班還是加班?這天是休息日還是例假?請了半天假又加班兩小時要怎麼算?這些規則一旦寫錯,影響的是每一位員工的薪水,也牽涉到勞動法規。
以下依序說明出勤系統涵蓋的範圍、各種打卡方式的取捨、排班規則怎麼設計、請假與加班的簽核流程、怎麼跟薪資系統介接、出勤紀錄保存的原則,最後提供一份開發前的盤點清單。
出勤系統涵蓋哪些環節
一套完整的出勤系統,通常包含下面幾個部分,彼此之間環環相扣:
- 員工主檔:到職日、部門、職務、適用的工時制度、所屬班別與主管,這是所有計算的基礎。
- 打卡:記錄實際上下班時間,以及在哪裡、用什麼方式打卡。
- 排班:每個人每天應該上哪個班、哪天休息,固定班或輪班。
- 假勤:假別設定、可請額度、請假申請與核准。
- 加班:加班申請、核准、實際加班時數的認定。
- 出勤結算:把打卡、排班、假勤、加班合併計算,產出每個人每期的出勤結果。
- 報表與匯出:給主管看的出勤異常、給薪資系統用的計薪資料。
設計時最重要的觀念是:打卡紀錄只是原始資料,出勤結果是依規則算出來的。兩者要分開存放。原始資料不能被改動,規則改了可以重算;如果把兩者混在一起,一旦規則調整或發現算錯,就無法回頭重新計算。
打卡方式怎麼選
打卡方式沒有絕對的好壞,要看工作型態與管理需求。常見的幾種方式各有取捨:
實體打卡機或刷卡:最傳統也最直覺,適合員工集中在固定場所的辦公室與工廠。缺點是代打卡難以完全杜絕,資料也要定期匯出或透過介接收回。
生物辨識(指紋、臉部):能有效降低代打卡,但屬於敏感程度較高的個人資料,蒐集前要說明用途並依規範取得同意,保存與刪除方式也要更謹慎。部分員工對此會有疑慮,需要提供替代方式。
手機 App 加定位:適合外勤、多據點或門市分散的情況。可以限制只能在指定範圍內打卡,但要考慮定位誤差、室內收訊不佳、員工沒有公司配發手機等狀況。定位資料同樣是個資,只應在打卡當下取得,不應持續追蹤。
網頁打卡加網路限制:限制只能從公司網路打卡,適合辦公室內勤人員,導入門檻低。
混合使用:多數公司最後會依身分採用不同方式,例如內勤用網頁、門市用平板、外勤用手機定位。系統要能讓不同員工適用不同的打卡規則,而不是全公司一套。
不論哪一種,都要設計異常處理:忘記打卡、裝置故障、出差在外無法打卡時,要有補登流程,並保留原始紀錄與補正紀錄。
排班規則:系統最容易被低估的部分
對於辦公室朝九晚五的公司,排班很單純;但對於餐飲、零售、醫療、物流、製造業,排班才是出勤系統最核心、也最複雜的部分。
先把班別定義清楚
班別是排班的基本單位,每個班別至少要定義:
- 上下班時間,以及是否跨日(例如晚班到隔天凌晨)。
- 休息時間怎麼算,是固定時段還是彈性。
- 遲到、早退的寬限範圍。
- 這個班別在什麼時間之後算加班。
跨日班是最容易出錯的地方:凌晨打的下班卡要算在前一天的班,而不是新的一天。這個判斷規則如果沒在一開始定清楚,後面所有工時計算都會錯。
輪班與排班表
排班表就是「誰在哪一天上哪一個班」。系統要支援的操作通常包括:
- 週期性排班:例如固定的輪班循環,可以一次產生一段期間的班表。
- 手動調整:店長依人力需求個別調整。
- 換班申請:員工之間互換班次,經主管核准後生效。
- 人力檢查:某個時段排的人數不足或過多時提醒排班者。
把法規限制寫成檢查規則
排班時有些限制來自勞動法規,例如工時上限、例假與休息日的安排、輪班之間的休息間隔等。系統可以在排班當下就檢查並提出警示,避免排出不合規的班表。
這裡要特別提醒:法規細節會修正,不同行業也可能適用不同的工時制度。系統設計上應該把這些限制做成可以調整的參數,而不是寫死在程式裡;規則本身該怎麼設定,建議依自身行業與工時制度,諮詢勞動主管機關或專業人士確認,不要只憑開發者的理解。
請假與加班的簽核流程
請假與加班都需要「申請、核准、紀錄」三個步驟,而且直接影響薪資,所以流程要清楚、紀錄要完整。
請假流程的設計重點:
- 假別設定:每種假別的額度怎麼計算、是否支薪、最小請假單位、是否需要附證明。額度的計算方式(例如依年資或依曆年)要能設定。
- 額度檢查:送出申請時立即顯示剩餘額度,額度不足直接提示,而不是等主管核准後才發現。
- 簽核層級:依假別或天數決定要幾層核准,例如短假由直屬主管核准,長假要再經部門主管。
- 代理人:請假期間的職務代理人是否需要確認。
- 撤回與銷假:已核准的假要取消,或請假當天臨時回來上班,要怎麼處理。
加班流程的設計重點:
- 事前申請還是事後認定:有些公司要求事前申請、核准才算加班;有些依實際打卡時間認定,再由主管確認。兩種做法對系統設計影響很大,要先決定。
- 打卡時數與申請時數不一致:申請兩小時、實際打卡晚走三小時,以哪個為準?這需要制度先講清楚,系統再照著實作。
- 加班換補休:員工選擇補休而非加班費時,要轉成補休額度,並追蹤使用期限。
簽核流程本身的設計方法(層級、代理、退回、通知)與一般公文簽核相通,可以參考電子表單與簽核流程系統的做法。
與薪資系統介接
出勤系統的最終產出,是給薪資計算使用的資料。介接方式大致分兩種:
檔案匯出匯入:每個計薪期間結束後,由出勤系統產出固定格式的檔案,人資檢查後匯入薪資軟體。優點是簡單、人資有檢查的機會;缺點是要人工操作,格式一變就要調整。
系統介接:透過 API 自動傳送結算結果。適合員工人數多、計薪頻率高,或出勤與薪資本來就是同一個平台的不同模組。介接的設計與錯誤處理方式,可參考系統整合與 API 串接開發指南。
不論哪種方式,有幾個原則一定要守住:
- 關帳機制:出勤結算後要有「關帳」動作,關帳後的資料不能再被隨意修改,要調整就走正式的更正流程,並在下一期反映。
- 主檔只能有一份:員工到職日、部門、假別設定應該只在一個地方維護,另一邊用同步或參照,避免兩邊不一致。
- 欄位對照表:出勤系統的「平日加班前段」對應到薪資系統的哪個項目,要有一份雙方確認過的對照表。
- 差異可追溯:員工對薪資有疑問時,要能從薪資項目一路追回是哪幾天、哪幾筆打卡或申請造成的。
如果公司正在評估是否連薪資、財務一起整合成更大的系統,可以參考中小企業 ERP 導入指南的判斷方式。
出勤紀錄保存與異動留痕的原則
出勤紀錄不只是內部管理資料,也是勞資之間的重要依據。法規對出勤紀錄的保存有一定要求,保存期限與內容細節請依現行法規確認,並諮詢專業人士;在系統設計上,可以掌握下面幾個原則:
完整保存原始紀錄:每一筆打卡的時間、方式、裝置或地點都要保存,不因為補正或結算而刪除。
異動一定要留痕跡:任何修改都要記錄修改前後的值、修改者、修改時間與理由。這不只是為了查核,也能保護人資與主管,避免事後說不清楚。
員工能查閱自己的紀錄:讓員工在系統上看得到自己的打卡與出勤結果,有疑問時能即時提出,而不是等到發薪日才發現。
個資與權限分層:主管只看得到自己部門的資料,人資看得到全公司,生物辨識與定位資料的存取權限要更嚴格。離職員工的資料保存與刪除方式也要事先規劃。相關原則可參考隱私權政策與個資法。
備份與匯出:資料要定期備份,並且能完整匯出。若日後要更換系統,舊資料仍需依規定保存與查閱,不能被廠商綁住。
開發前的盤點清單
不論是要導入套裝系統或客製開發,先把下面這份清單填完,能讓評估與規格討論省下大量時間:
人員與制度
- 公司有哪幾種工時制度?哪些人適用哪一種?
- 有沒有部分工時、外勤、派駐客戶端、跨據點支援的員工?
打卡
- 目前用什麼方式打卡?哪些人有打卡上的困難?
- 是否接受定位或生物辨識?員工的接受度如何?
排班
- 有哪些班別?有沒有跨日班?
- 誰負責排班?多久排一次?換班怎麼處理?
假勤與加班
- 列出所有假別,以及每種假別的額度與規則。
- 加班是事前申請還是事後認定?補休怎麼管理?
簽核
- 請假、加班、補打卡各需要幾層核准?主管不在時誰代理?
薪資介接
- 目前用什麼薪資工具?它能接受什麼格式的資料?
- 每期結算與關帳由誰負責?發現錯誤時怎麼更正?
例外狀況
- 列出過去一年遇過最麻煩的幾個出勤爭議,這些正是規格最需要寫清楚的地方。
填完之後,可以照軟體需求怎麼寫的結構整理成正式文件。至於該選現成的人資雲端服務還是自己開發,判斷方式在買現成 SaaS 還是客製開發有完整說明:一般辦公室型態通常套裝就很夠用,排班規則特殊、據點多、或需要跟自家營運系統深度整合時,客製或混合才比較有意義。
出勤系統的成敗,取決於規則有沒有在開發前被講清楚。系統只是忠實地執行規則,規則本身模糊,系統算出來的結果就會引發爭議。
你的排班型態、假別規則與薪資工具都不一樣,適合的出勤系統也不會長得一樣。如果你想把打卡、排班、簽核到薪資交接這一段整理成一套順暢的流程,可以和 NETVANA 聊聊你的人資作業。我們的軟體服務一律採詢問報價制,會先陪你盤點班別、假別與簽核規則,再評估適合套裝、客製或混合;服務範圍可參考軟體服務介紹。
延伸閱讀:請假、加班這類簽核流程的設計方法,看電子表單與簽核流程系統;出勤要和薪資、財務系統串接,先讀系統整合與 API 串接開發指南;想要一個集中管理人事資料的後台,參考內部後台系統開發指南;員工登入要跟公司帳號整合,可讀社群登入與 SSO 單一登入指南;打卡定位與生物辨識的個資處理原則,看隱私權政策與個資法。