(角色總則)
✅ 裁示 B:不新增預設角色。HR 相關權限一律由 ADMIN 或租戶自訂角色承擔。✅ 裁示 D:「主管」不是本模組的概念。簽核者由簽核流程的關卡設定決定(見簽核)。
spec / hr / 階段 A
Outline v2(大綱待裁示,尚未展開細節):租戶內的員工出勤、請假、加班與簽核;本文件只描述需求,不涉及技術實作、介面設計與測試。
要做什麼與明確不做什麼,左右對照。
租戶內的員工出勤、請假、加班與簽核,以人事出缺勤模組承載,且必須符合台灣勞動法規(裁示 C)。
✅ A 員工 = 租戶訂閱者。VOPS 以租戶訂閱者為主體,人事欄位以「資料池」擴充。
✅ D 不做組織樹。員工一律扁平結構,全部同一層,無部門階層、無直屬主管。
✅ G 所有 HR 資料一律以資料池承載;法規證據類資料所在的池不開放封存與刪除(2026-08-02 修訂,見承載方式)。
✅ H 簽核另立通用模組 → specs/workflow/workflow.md,HR 只登記單據類型與串接。
✅ K 不設「無帳號員工」:所有人員一律註冊帳號加入租戶,以自訂角色區分(原待裁示 S)。
⚪ 組織架構、部門、階層、直屬主管:裁示 D,不做,員工扁平同層。
⚪ 薪資計算與發放:另立薪資規格。
⚪ 加班費、特休折現的金額計算:同上(本版只算時數)。
⚪ 勞健保與勞退級距:同上。
⚪ 人事招募、面試、報到流程:另立規格。
⚪ 績效考核:另立規格。
⚪ 教育訓練紀錄:另立規格。
⚪ 實體考勤機/讀卡機整合:裁示 M,本版只做系統按鈕與 GPS 兩種模式,不做考勤機。
⚪ IP 白名單打卡驗證:裁示 M,本版不做。
⚪ 無平台帳號的員工:裁示 K,所有人員一律註冊帳號加入租戶。
⚪ 差旅與費用報銷:另立規格。
⚪ 政府行事曆自動匯入:裁示 Z(D-18):不做自動匯入,國定假日由租戶手動匯入。
⚪ 輪班表(逐日指派班別):裁示 Y(D-17),本版只做固定班別;輪班表列為下一版的第二個排班模式。
⚪ 報表匯出 PDF:裁示 AF(D-20),本版只做 Excel/CSV。
⚪ 全站稽核機制:裁示 AG(D-21),不提升為全站稽核;留痕由 HR 模組自帶,範圍限出勤與請假。
⚪ 勞檢申報文件產製:本版只做紀錄與報表。
⚪ 資料池本身的規格:裁示 F,另立 specs/dataset/。
⚪ 自訂角色管理的規格:已定義於 specs/auth/spec.md FR-75~FR-77,不另立規格。
⚪ 加班費金額計算不做(屬薪資)。
規格用語的唯一定義,後續條文皆以此為準。
可做的在左、不可做的在右;右欄是承諾邊界。
✅ 裁示 B:不新增預設角色。HR 相關權限一律由 ADMIN 或租戶自訂角色承擔。✅ 裁示 D:「主管」不是本模組的概念。簽核者由簽核流程的關卡設定決定(見簽核)。
維護班別、工作日曆、假別額度、簽核流程;檢視全租戶出勤;補登與更正。
簽核指派到自己的請假/加班/補登。
打卡、送出申請、檢視自己的出勤與額度。
本頁主角。21 條,每條與同編號的驗收標準左右並排——需求說「要什麼」,驗收說「怎麼算做到」。
🟡 每日至少上班、下班兩次打卡;當日可多段(外出、回歸)。
員工當日可依序打上班、外出、回歸、下班多段。
✅ 打卡認定方式由租戶自行選擇,本版提供兩種模式(裁示 W/M)。🟡 模式一(預設):純系統按鈕打卡,不驗證位置。🟡 模式二:系統按鈕打卡 + GPS 位置驗證,允許範圍由租戶設定;拿不到定位不阻擋打卡,照實記錄為異常。
租戶未設定時打卡不驗證位置;租戶選擇 GPS 模式並設定允許範圍後,拿不到定位的打卡不被阻擋,該筆記錄照實標示為異常。
🟡 異常類型:遲到、早退、缺卡、曠職、未達工時。🟡 由系統依班別自動判定,不需人工標記。
員工打卡時間與班別不符時,出勤記錄自動顯示對應異常類型(遲到、早退、缺卡、曠職、未達工時之一),無需任何人手動標記。
🟡 員工可對異常日送出補登申請,經簽核後更正出勤記錄。🟡 更正須留痕:原始記錄不可覆寫,更正為另一筆並保留前後值(勞資爭議舉證需要)。✅ 補登不設次數上限;補登期限至次月結算前(裁示 X/N,D-16 修訂)。
補登簽核通過後,出勤記錄顯示更正後值,且原始記錄與更正前後值仍可查看;員工對同一異常日可重複送出補登;異常日所屬月份的次月結算前皆可補登,結算後該異常日的補登被阻擋。
🟡 班別定義上下班時間、休息時段、應出勤時數、彈性上下班容許區間。
✅ 裁示 Y=a(D-17):固定班別,一位員工綁一個班別;輪班表列下一版第二模式。
ADMIN 建立班別時可填上下班時間、休息時段、應出勤時數與彈性上下班容許區間,儲存後可查看。每位員工只綁定一個班別;畫面不提供逐日指派班別。
🟡 工作日曆定義工作日、例假日、休息日、國定假日。🟡 例假日與休息日須區分(勞基法第 36 條,加班規則與費率不同)。
國定假日手動維護或匯入為待裁示 Z。
工作日曆中可標示工作日、例假日、休息日與國定假日;例假日與休息日為不同選項。
✅ 依裁示 C,內建台灣勞基法法定假別與規則作為預設值,租戶可在法規容許範圍內加碼(優於法規可、劣於法規不可)。🟡 法定假別:特休、婚假、喪假、公傷病假、普通傷病假、事假、生理假、產假、產檢假、陪產檢及陪產假、家庭照顧假、公假。🟡 每個假別定義:是否給薪/半薪、是否需附證明、最小請假單位、年度額度上限。
✅ 裁示 AA(D-19):法規變動時內建預設值由平台方統一推送。
新租戶的假別清單預設含上述十二種法定假別;ADMIN 將任一假別調整為劣於法規時被阻擋,優於法規時可儲存;每個假別可查看給薪/半薪、需附證明、最小請假單位、年度額度上限。
🟡 特休依到職日與年資自動累給(勞基法第 38 條級距)。🟡 額度依假別分別計算,有結算週期。
✅ 裁示 AB(D-19):兩者皆支援,由租戶選。
員工到職日與年資達勞基法第 38 條各級距時,特休額度自動增加至對應天數;各假別額度分別顯示,且依結算週期重新計算。ADMIN 可為租戶選擇特休採曆年制或週年制,特休額度依所選制度計算。
🟡 未休完特休依法應折發工資;本版只計算並呈現應折發時數,金額不算(屬薪資範圍)。
員工與 HR 可查看未休完特休的應折發時數;畫面不顯示金額。
🟡 員工填寫假別、起訖時間、事由,系統即時試算扣除時數並檢查額度。🟡 額度不足、與既有假單重疊、超出可請期間時阻擋。
填寫起訖時間後畫面即時顯示將扣除的時數與剩餘額度;額度不足、與既有假單重疊或超出可請期間時無法送出並顯示原因。
🟡 已簽核的假單可申請撤銷,撤銷同樣需簽核。
員工對已核准的假單送出撤銷申請後,撤銷申請進入簽核。
🟡 加班採申請制:事前申請或事後補登,經簽核後才計入。
員工可在加班前或加班後送出加班單;未經簽核通過的加班時數不計入累計。
🟡 時數依工作日/休息日/例假日/國定假日分類累計(費率基礎不同)。
員工與 HR 查看加班統計時,時數依工作日、休息日、例假日、國定假日分別顯示。
🟡 依勞基法第 32 條檢核延長工時上限(單日、單月)並提出警示。
單日或單月加班累計超過勞基法第 32 條上限時,畫面顯示警示。
🟡 補償支援「加班費/補休」二擇一;補休轉入額度並有使用期限(勞基法第 32 條之 1)。⚪ 加班費金額計算不做(屬薪資)。
加班單可選擇加班費或補休其一;選補休且核准後,補休時數加入額度並顯示使用期限;畫面不顯示加班費金額。
向簽核模組登記三種單據類型:請假單、加班單、補登單。提供各單據的摘要與可用於分流條件的欄位(例:請假天數、加班時數)。🟡 三種單據各自套用一條流程,由租戶管理者在簽核模組內設定。
簽核模組的單據類型清單含請假單、加班單、補登單三種;管理者可分別為三種類型設定流程;待簽清單顯示 HR 提供的摘要。
送簽前的業務檢查(額度是否足夠、是否與既有假單重疊)與核准後的業務動作(扣除假別額度、更正出勤記錄)由 HR 負責。🟡 送簽前的業務檢查未通過時,單據不得送簽(在 HR 端阻擋,不進簽核模組)。
額度不足或與既有假單重疊的請假單在 HR 端被阻擋,不出現在簽核模組的待簽清單;請假單核准後假別額度扣除,補登單核准後出勤記錄更正。
🟡 員工:自己的出勤月曆、假別額度、單據紀錄。🟡 簽核者:待簽核清單。🟡 HR:全租戶出勤總表、異常清單、假別使用統計。
✅ 裁示 AF(D-20):先做 Excel/CSV。
員工可查看自己的出勤月曆、假別額度與單據紀錄;簽核者可查看待簽核清單;HR 可查看全租戶出勤總表、異常清單與假別使用統計。HR 可將報表匯出為 Excel 或 CSV;畫面不提供 PDF 匯出。
🟡 勞基法要求的出勤紀錄保存與備查格式(第 30 條第 5、6 項:逐日記載至分鐘、保存 5 年、勞工申請時應提供副本)。🟡 出勤紀錄保存 5 年。
出勤紀錄逐日記載到分鐘;5 年內的出勤紀錄皆可查詢;員工可取得自己出勤紀錄的副本。
✅ 紀錄類資料(出勤、請假、加班、補登、簽核紀錄)不得封存刪除;設定類(班別、日曆、假別、流程設定)可封存(裁示 L/T)。🟡 出勤與請假的所有更正一律留痕,不可竄改、不可刪除(勞基法舉證責任在雇主)。
與 specs/auth/spec.md §12「操作稽核紀錄:本版不做」直接衝突;留痕範圍為待裁示 AG。
任何角色皆無法封存或刪除出勤記錄、請假單、加班單、補登單與簽核紀錄;ADMIN 可封存班別、工作日曆、假別定義與簽核流程設定,封存後既有紀錄不變;訂閱者離職後其出勤與請假歷史仍可查詢。
出勤資料屬個資、僅本人與有權者可見、跨租戶隔離、錯誤訊息一律繁中。
員工只看得到自己的出勤資料;其他租戶的出勤資料不可見;所有錯誤訊息為繁體中文。
22 條。規則與「違反時 →」成對讀。
§0 本大綱的用途與標記說明狀態:Outline v2(大綱待裁示,尚未展開細節)。範圍:租戶內的員工出勤、請假、加班與簽核。本文件只描述需求,不涉及技術實作、介面設計與測試。上游依賴:specs/auth/spec.md(使用者、租戶、訂閱關係、角色)。本檔目前只有章節骨架與範圍主張,供人類裁示。確認後才逐節展開為完整需求規格(名詞定義、業務規則、FR 條目、例外邊界)。標記說明:✅ 人類已裁示/🟡 主張納入本版,等人類確認/⚪ 主張不納入本版(列入 nonGoals)/🟠 待人類裁示,AI 不自行決定。
§0.2 🔴 阻擋事項:本規格依賴一個尚不存在的模組資料池(Dataset):vops-v2 完全不存在(全域檢索 0 命中);只有舊專案 ~/develop/volu/vops 有。依裁示 F 另立規格。資料池規格未完成前,HR 規格可以寫、但無法進入切版與實作。✅ 已裁示 Q2(2026-08-02):撰寫順序採 資料池 → 簽核 → HR。
§0.3 承載方式(裁示 G):員工人事擴充欄位(職稱、到職日、自訂欄位)資料池,開放自訂。理由:各租戶需求差異大,這裡就是要彈性。
§0.3 承載方式(裁示 G):假別定義、班別、工作日曆、簽核流程設定資料池。理由:屬設定資料,租戶需自行維護。
§0.3 承載方式(裁示 G):出勤記錄、請假單、加班單、簽核紀錄資料池,不開放封存與刪除。理由:勞基法證據,須留痕不可竄改;以池層級關閉封存與刪除達成。
§0.3 承載方式:與舊專案的差異舊專案同樣把打卡記錄放進資料池,但明確宣告「不做勞基法合規報表」。v2 裁示 C 要求合規,同樣以資料池承載,差別在法規證據類的池關閉封存與刪除,以滿足留痕與保存要求。✅ 已裁示(2026-08-02):簽核流程設定與簽核執行紀錄皆走資料池;執行紀錄所在的池不開放封存與刪除。
§3.1 打卡🟡 每日至少上班、下班兩次打卡;當日可多段(外出、回歸)。
§3.1 打卡:認定方式✅ 已裁示 W(2026-08-02):打卡認定方式由租戶自行選擇,本版提供兩種模式。🟡 模式一(預設):純系統按鈕打卡,不驗證位置。🟡 模式二:系統按鈕打卡 + GPS 位置驗證,允許範圍由租戶設定;拿不到定位不阻擋打卡,照實記錄為異常。⚪ 不做:IP 白名單、實體考勤機匯入(見不在本規格範圍)。
§3.2 出勤異常🟡 異常類型:遲到、早退、缺卡、曠職、未達工時。🟡 由系統依班別自動判定,不需人工標記。
§3.3 補登(補卡)🟡 員工可對異常日送出補登申請,經簽核後更正出勤記錄。🟡 更正須留痕:原始記錄不可覆寫,更正為另一筆並保留前後值(勞資爭議舉證需要)。✅ 裁示 X 修訂(D-16,2026-08-29):補登不設次數上限;補登期限至次月結算前。
§4 班別與工作日曆🟡 班別定義上下班時間、休息時段、應出勤時數、彈性上下班容許區間。🟡 工作日曆定義工作日、例假日、休息日、國定假日。🟡 例假日與休息日須區分(勞基法第 36 條,加班規則與費率不同)。✅ 裁示 Y(D-17,2026-08-29):本版採固定班別,一位員工綁一個班別;輪班表(逐日指派班別)留待下一版作為第二個排班模式。✅ 裁示 Z(D-18,2026-08-29):國定假日由租戶手動匯入。參考舊專案 ~/develop/volu/vops 居服排班模組的做法:以政府年度辦公日曆表為來源,提供「帶入 N 年國定假日」預置清單一鍵帶入,並可用「日期 名稱」文字清單貼入或手動增修(僅為參考註記,不限定實作)。
§5.1 假別✅ 依裁示 C,內建台灣勞基法法定假別與規則作為預設值,租戶可在法規容許範圍內加碼(優於法規可、劣於法規不可)。🟡 法定假別:特休、婚假、喪假、公傷病假、普通傷病假、事假、生理假、產假、產檢假、陪產檢及陪產假、家庭照顧假、公假。🟡 每個假別定義:是否給薪/半薪、是否需附證明、最小請假單位、年度額度上限。✅ 裁示 AA(D-19,2026-08-29):法規變動時,內建預設值由平台方統一推送,租戶不各自維護。
§5.2 假別額度🟡 特休依到職日與年資自動累給(勞基法第 38 條級距)。🟡 額度依假別分別計算,有結算週期。🟡 未休完特休依法應折發工資;本版只計算並呈現應折發時數,金額不算(屬薪資範圍)。✅ 裁示 AB(D-19,2026-08-29):特休曆年制與週年制兩者皆支援,由租戶選擇。
§5.3 請假單🟡 員工填寫假別、起訖時間、事由,系統即時試算扣除時數並檢查額度。🟡 額度不足、與既有假單重疊、超出可請期間時阻擋。🟡 已簽核的假單可申請撤銷,撤銷同樣需簽核。
§6 加班🟡 加班採申請制:事前申請或事後補登,經簽核後才計入。🟡 時數依工作日/休息日/例假日/國定假日分類累計(費率基礎不同)。🟡 依勞基法第 32 條檢核延長工時上限(單日、單月)並提出警示。🟡 補償支援「加班費/補休」二擇一;補休轉入額度並有使用期限(勞基法第 32 條之 1)。⚪ 加班費金額計算不做(屬薪資)。
§7 簽核✅ 裁示 H(2026-08-02):簽核不在本模組定義,改由通用簽核模組承擔 → specs/workflow/workflow.md。
§7 簽核:本模組在簽核上的職責僅有三項(職責邊界見 workflow.md §0.2)1. 向簽核模組登記三種單據類型:請假單、加班單、補登單。2. 提供各單據的摘要與可用於分流條件的欄位(例:請假天數、加班時數)。3. 送簽前的業務檢查(額度是否足夠、是否與既有假單重疊)與核准後的業務動作(扣除假別額度、更正出勤記錄)。
§7 簽核:不由 HR 定義關卡、簽核者、簽核動作、簽核紀錄、通知 — 一律走簽核模組。
§7 簽核🟡 三種單據各自套用一條流程,由租戶管理者在簽核模組內設定。🟡 送簽前的業務檢查未通過時,單據不得送簽(在 HR 端阻擋,不進簽核模組)。原待裁示 AC/AD/AE/AH/AI 已移交 specs/workflow/workflow.md,不在本檔重複。
§8 查詢與報表🟡 員工:自己的出勤月曆、假別額度、單據紀錄。🟡 簽核者:待簽核清單。🟡 HR:全租戶出勤總表、異常清單、假別使用統計。🟡 勞基法要求的出勤紀錄保存與備查格式(第 30 條第 5、6 項:逐日記載至分鐘、保存 5 年、勞工申請時應提供副本)。✅ 裁示 AF(D-20,2026-08-29):報表匯出先做 Excel/CSV;PDF 本版不做。
§10 安全需求(預計涵蓋)出勤資料屬個資、僅本人與有權者可見、跨租戶隔離、錯誤訊息一律繁中。
§10 安全需求🟡 出勤與請假的所有更正一律留痕,不可竄改、不可刪除(勞基法舉證責任在雇主)。🟡 出勤紀錄保存 5 年。✅ 裁示 AG(D-21,2026-08-29):HR 模組自帶留痕(範圍限出勤與請假),不提升為全站稽核機制;與 specs/auth/spec.md §12「操作稽核紀錄:本版不做」不衝突。
11 條。條件 → 行為,一條一行。
跨日班別(夜班)的出勤歸屬日細節版預計涵蓋,處置待展開
請假期間與已排班衝突細節版預計涵蓋,處置待展開
到職/離職當月的額度按比例計算細節版預計涵蓋,處置待展開
離職訂閱者的出勤資料須保存 5 年與 auth 封存機制的關係待展開;裁示 T:訂閱者離職(訂閱關係封存)不影響其出勤與請假歷史的保存與查詢。
補登期限已過的異常日裁示 Q-X-LIMIT(D-16):補登期限至次月結算前;期限已過的異常日不得送出補登申請。
已核准的假單遇到事後補打卡細節版預計涵蓋,處置待展開
申請人即簽核者細節版預計涵蓋,處置待展開
簽核者離職或被停權時,在途單據的處置細節版預計涵蓋,處置待展開
簽核流程設定被修改時,在途單據依舊流程或新流程細節版預計涵蓋,處置待展開(workflow.md §4.4 主張在途單據沿用送簽當下版本)
租戶被停用/封存時的在途單據細節版預計涵蓋,處置待展開
訂閱者被停權時的在途單據細節版預計涵蓋,處置待展開
2 項未解除。每項風險配當下處置與觸發時的回滾手段。
依裁示 F 另立規格 specs/dataset/。資料池規格未完成前,HR 規格可以寫、但無法進入切版與實作。✅ 已裁示 Q2(2026-08-02):撰寫順序採 資料池 → 簽核 → HR。
現況:vops-v2 完全不存在(全域檢索 0 命中);只有舊專案 ~/develop/volu/vops 有
HR 只登記單據類型與串接(裁示 H);簽核相關待裁示已移交 workflow.md §12。
現況:workflow.md 為 Outline v0
7 項待裁示。前往 待裁示問答 作答。
Q-X-LIMIT例外與邊界例外「補登期限已過的異常日」與裁示 X「補登不設期限」矛盾;人類裁示「改裁示」,補登期限設多長?
已裁示:D-16
Y§4排班做到哪一層?
AI 建議:本版 a。
已裁示:D-17
Z§4國定假日每年手動維護,或匯入政府行事曆?
已裁示:D-18
AA§5.1法規變動時,內建預設值由誰更新(平台方統一推、或各租戶自行維護)?
已裁示:D-19
AB§5.2特休採曆年制、週年制,還是兩者皆支援由租戶選?註:法規以週年制為本,曆年制屬雇主與勞工協商的比例換算,兩者都合法但計算複雜度差很多。
已裁示:D-19
AF§8報表匯出格式(Excel/CSV/PDF)?
已裁示:D-20
AG§10留痕範圍:HR 模組自帶留痕(範圍限出勤與請假),或提升為全站稽核機制(與 auth §12 衝突)?
已裁示:D-21