Hari Libur Nasional + Admin Tools

Atur hari kerja dan hari libur (nasional + custom) workspace, rekap absensi bulanan (CSV/Excel), pantau kehadiran langsung, dan penutupan otomatis sesi yang lupa clock-out. Production-grade HR ops.

  1. 1

    Kenapa kalender hari libur penting

    Tanpa data hari libur, sistem absensi & payroll bias kasih hasil aneh:

    • Streak hadir putus karena Lebaran (semua hari off bukan absen)
    • Payroll potong telat di tanggal libur (gak adil, staff yang sukarela kerja malah kepotong)
    • Pengingat otomatis kirim notif "Jangan lupa clock-in 17 Agustus", spam ke semua karyawan
    • Cuti tahunan ke-charge untuk hari yang seharusnya libur (cuti 1 minggu yang melewati Lebaran ke-charge 5 hari padahal cuma 3 working days)

    Solusi: workspace owner daftarkan daftar hari libur tahunan. Sistem cross-check setiap operasi terkait absensi.

    • Daftar libur nasional sync otomatis tiap bulan (tahun ini dan tahun depan, sumber SKB 3 Menteri), bisa juga klik Sync Sekarang. Yang perlu kamu perbarui sendiri tiap tahun cuma Hari Libur Custom.
  2. 2

    Seed Libur Kemenag dengan 1 klik

    Daftar libur nasional mengikuti SKB 3 Menteri.

    2026 (17 libur + 8 cuti bersama):

    • Tahun Baru (1 Jan)
    • Isra Mikraj (16 Jan)
    • Cuti bersama (16 Feb) dan Imlek (17 Feb)
    • Cuti bersama (18 Mar) dan Nyepi (19 Mar)
    • Cuti bersama (20 Mar), Idulfitri (21-22 Mar), cuti bersama (23-24 Mar)
    • Wafat Yesus Kristus (3 Apr)
    • Paskah (5 Apr)
    • Hari Buruh (1 Mei)
    • Kenaikan Yesus Kristus (14 Mei) dan cuti bersama (15 Mei)
    • Iduladha (27 Mei) dan cuti bersama (28 Mei)
    • Waisak (31 Mei)
    • Hari Lahir Pancasila (1 Jun)
    • Tahun Baru Islam (16 Jun)
    • Kemerdekaan RI (17 Agu)
    • Maulid Nabi (25 Agu)
    • Cuti bersama (24 Des) dan Natal (25 Des)

    Preset 2027 juga tersedia (sama struktur).

    Tidak ada tombol seed. Libur nasional otomatis tersedia di Pengaturan → Kalender & Hari Libur → Hari Libur Nasional (sync bulanan, atau klik Sync Sekarang; pastikan toggle-nya menyala). Penting: daftar nasional ini saat ini hanya dipakai tugas berulang, brief harian, dan hitungan hari kerja. Supaya sebuah tanggal juga dianggap libur oleh absensi, payroll, cuti, dan pengingat clock-in, tambahkan tanggal itu di Hari Libur Custom → Tambah (khusus owner, paket Pro/Business).

    Daftar nasional tidak bisa diedit atau dihapus per tanggal, kamu hanya bisa mematikan seluruhnya lewat toggle Hari Libur Nasional. Hari libur sendiri bisa ditambah dan dihapus di Hari Libur Custom.

    • Source field track origin, `kemenag` (preset), `manual` (admin tambah), `preset` (future custom preset)
  3. 3

    Tambah hari libur custom

    Beberapa workspace punya hari libur internal di luar Kemenag:

    • Anniversary perusahaan (libur company-wide)
    • Cuti bersama tambahan (mis. tanggal kejepit)
    • Hari libur khusus (mis. anniversary founder)

    Buka Pengaturan → Kalender & Hari Libur, lalu di bagian Hari Libur Custom klik Tambah (khusus owner workspace, paket Pro/Business).

    • Tanggal YYYY-MM-DD (date picker)
    • Nama (mis. "HUT PT Maju Mundur ke-10")
    • Belum ada pilihan libur berbayar/tidak berbayar. Semua hari libur custom diperlakukan sama: bukan hari kerja (tidak memotong cuti, tidak dihitung telat, tidak ada pengingat clock-in)
    • Source: manual

    Submit → tambah ke daftar libur workspace.

    Cuti bersama nasional optional vs wajib bisa beda per workspace policy. Kementerian biasanya mandate cuma tanggal Hari Raya inti; sisa adalah optional.
  4. 4

    Edit / hapus hari libur

    Hari libur salah ketik / sudah tidak berlaku?

    Belum ada tombol edit. Kalau nama atau tanggal salah, hapus lalu tambahkan lagi.

    Hapus:
    → Klik ikon tempat sampah (Hapus) di baris hari libur custom, lalu konfirmasi

    → Penghapusan permanen; hari libur nasional tidak bisa dihapus satu per satu

    → Penambahan dan penghapusan hari libur tidak tercatat di Audit Trail

    Bulk operations (Phase 2, coming):

    • Delete year (clear 2025 entries setelah lewat)
    • Copy from year to year (copy template 2026 jadi 2027 dengan auto-adjust tanggal)

    Best practice maintenance: setelah SKB libur tahun berikutnya terbit, cek daftar Hari Libur Nasional (sync otomatis tiap bulan, atau klik Sync Sekarang), lalu tambahkan tanggal yang perlu berlaku untuk absensi/payroll ke Hari Libur Custom.

    • Menghapus hari libur tidak menghitung ulang cuti yang sudah disetujui, dan belum ada menu edit saldo cuti.
  5. 5

    Koreksi record absensi (admin tool)

    Sebelumnya, kalau staff lupa clock-out atau GPS bug, admin gak punya cara resmi yang aman dan tercatat untuk membenahi data.

    Saat ini belum ada tombol koreksi catatan absensi di aplikasi (fiturnya baru ada di sisi server). Kalau ada catatan yang perlu dibetulkan (mis. lupa clock-out), hubungi tim SatuTim lewat Pusat Bantuan.

    Belum ada tombol hapus catatan absensi di aplikasi.

    Legal sensitive, kalau staff dispute potongan gaji, audit log koreksi yang dipakai bukti. Jangan abuse.
  6. 6

    Export CSV rekap bulanan

    HR butuh export ke Excel untuk:

    • Submit ke HRIS lama (perusahaan multi-system)
    • Audit eksternal akuntan / konsultan pajak
    • Personal archive ad-hoc
    • Dispute resolution dengan staff

    Buka Absensi Online → tab Pantau Langsung, gulir ke Rekap Bulanan, pilih bulan, lalu klik CSV (atau Excel). File rekap-absensi-<tahun>-<bulan>.csv akan terunduh.

    Isi file (Excel-friendly, UTF-8): satu baris per karyawan untuk bulan itu, dengan kolom Nama, Hadir, Telat, Remote, Absen, Total telat (menit), Total lembur (menit), Ter-flag. Belum ada export per catatan (jam masuk/pulang, GPS, IP) dari aplikasi.

    Use cases:

    1. Pivot table di Excel: Group by user → sum lateMinutes, presentDays, overtimeMinutes
    2. Salary calculation alternative: kalau pakai HRIS external untuk payroll, export ini = source of truth attendance
    3. Compliance audit: print + sign + filing untuk dokumen tahunan
    • Buka di Excel: Data → Get External Data → From Text → UTF-8 → Comma delimiter
    • Buka di LibreOffice / Google Sheets: native UTF-8 support, langsung buka
  7. 7

    Team Today Board (manager dashboard)

    Manager pagi sebelum standup: "Siapa hadir hari ini, siapa cuti, siapa belum clock-in?"

    Belum ada Team Today Board. Untuk memantau kehadiran hari ini, buka Absensi Online → tab Pantau Langsung: kartu Hadir, Telat, Remote, Ter-flag, Belum clock-in plus daftar yang sudah clock-in (jam, mode, lokasi), diperbarui otomatis tiap 30 detik. Pengajuan izin/cuti bisa dilihat di tab Izin & Cuti.

    Manager view ini critical pre-standup, gak perlu Slack/WA "siapa yang gak datang hari ini?". Real-time data, source of truth.

  8. 8

    Selfie saat clock-in (anti-curang lanjutan)

    Untuk workspace dengan risiko tinggi (retail, pabrik, perbankan, yang rawan kecurangan absensi), selfie jadi lapis pengaman tambahan setelah lokasi GPS + jaringan kantor.

    Cara kerjanya beda per aplikasi: di aplikasi Android SatuTim ada langkah Selfie verifikasi saat clock-in/out dan fotonya ikut tersimpan di catatan absensi. Di aplikasi absensi web (attendance.satutim.id) tidak ada foto yang disimpan. Kalau karyawan sudah Daftarkan Wajah, kamera depan terbuka sebentar secara otomatis untuk mencocokkan wajah.

    Clock-out caranya sama, ambil selfie lagi saat pulang.

    Batas & ketentuan foto:

    • Ukuran foto otomatis diperkecil dari sisi aplikasi supaya ringan
    • Format gambar umum didukung (foto dari iPhone juga otomatis menyesuaikan)
    • Foto disimpan dengan aman dan tidak bisa diubah

    Belum ada tampilan foto selfie untuk admin. Yang tersedia: hasil pencocokan wajah (Wajah masuk/keluar) di Absensi Online → tab Keamanan.

    Privasi:

    • Hanya admin workspace yang bisa melihat foto, BUKAN semua anggota
    • Foto selfie saat ini disimpan tanpa batas waktu (belum ada penghapusan otomatis)
    • Belum ada pengaturan untuk menyalakan/mematikan selfie per workspace. Di Android langkah selfie selalu muncul; di aplikasi web, pencocokan wajah aktif begitu karyawan mendaftarkan wajahnya
    UU PDP (No. 27/2022) mensyaratkan persetujuan eksplisit untuk data biometrik. Pemilik workspace wajib menjelaskan kebijakannya + punya persetujuan tertulis dari staff sebelum mewajibkan selfie.
  9. 9

    Auto-close incomplete sessions (otomatis tiap malam)

    Realita: 5-10% staff lupa clock-out per minggu (kerja larut malam, langsung pulang lupa, device mati). Tanpa intervention, sesi terbuka selamanya = stats salah + Payroll bias.

    Sistem otomatis tiap hari jam 00:00 WIB:

    • Cek semua catatan absensi yang belum clock-out dan clock-in-nya lebih dari 18 jam yang lalu
    • Diproses bertahap (dibatasi sekian ratus catatan per putaran biar gak membebani sistem)
    • Per catatan:
    1. Hitung menit keterlambatan (menit lembur = 0 karena gak ada clock-out)
    2. Set status = "incomplete"
    3. Catat di audit log dengan alasannya

    18 jam threshold rationale:

    • Shift normal: clock-in 8 pagi → clock-out 5 sore = 9 jam
    • Lembur extreme: clock-in 8 pagi → clock-out 12 malem = 16 jam (still ok)
    • Lupa clock-out: clock-in 8 pagi → 18 jam = 2 pagi besok = sudah jelas lupa
    • Conservative: bukan default 24 jam (terlalu lama, stats hari ini udah rusak)

    Aman diulang: kalau proses berjalan ulang, datanya tetap sama (status tetap "incomplete", lembur 0).

    Staff impact:

    • Di aplikasi absensi, catatan itu berstatus Belum selesai
    • Streak hadir tepat waktu terputus di hari itu (status Belum selesai tidak dihitung hadir)
    • Payroll: 0 overtime untuk hari itu (tidak fair untuk yang benar2 lembur)
    • Solusi: belum ada fitur koreksi di aplikasi; kalau jam pulang perlu dibetulkan, hubungi tim SatuTim lewat Pusat Bantuan
    • Proses ini berjalan otomatis di latar belakang tiap malam, admin gak perlu setup apa pun
  10. 10

    Audit log integration (compliance trail)

    Semua admin tools di atas catat audit log yang tidak bisa diubah untuk compliance:

    | Action | Trigger |
    |--------|---------|

    | Koreksi catatan absensi | Admin edit record manual |

    | Hapus catatan absensi | Admin hapus record |

    | Sesi ditutup otomatis | Sistem auto-close (pelaku: sistem) |

    | Saldo cuti diubah | Admin edit kuota cuti |

    | Aksi pengajuan cuti | Persetujuan, persetujuan bertingkat, penolakan, dan pembatalan cuti yang sudah disetujui; pengajuan baru tidak tercatat |

    Perubahan hari libur belum tercatat di Audit Trail.

    Access audit log: Buka Pengaturan → Fitur Business → Audit Trail (paket Business). Ketik attendance, leave, atau hr_request di kotak Cari aktivitas... untuk menyaring 50 aktivitas terbaru; untuk riwayat lebih lama pakai Export CSV.

    Catatan Audit Trail disimpan 1 tahun untuk semua workspace (lalu terhapus otomatis); Audit Trail sendiri khusus paket Business.

    Compliance use cases:

    1. Dispute karyawan: "kenapa cuti saya gak nambah?" → audit log show admin approve + deduct timestamp
    2. Inspeksi Kemnaker: random check policy + execution → audit prove compliance
    3. Audit eksternal: akuntan butuh trail untuk verify financial impact (PPh21, BPJS) sesuai data attendance

    Export sudah tersedia: tombol Export CSV di Audit Trail (maks. 5.000 catatan terbaru, belum bisa pilih periode).

    Audit log immutable, admin gak bisa edit/hapus entry yang sudah ada. Bahkan owner workspace cuma bisa view, gak bisa delete. Design intentional untuk legal protection.