Absensi: Clock-in GPS, WiFi, WFH, WFA
Plugin absensi modern: clock-in via GPS dengan geofence, validasi WiFi kantor, dukungan WFH/WFA/Kunjungan, shift custom, dan rekap bulanan untuk HR.
- 1
Apa itu Absensi SatuTim + kenapa pakai
Banyak tim Indonesia masih pakai fingerprint mesin atau Excel manual buat catat hadir karyawan. Masalahnya: mesin fingerprint cuma di kantor (gak relevan buat WFH/lapangan), Excel manual gampang dimanipulasi, dan gak nyambung sama task management. Plugin Absensi SatuTim: clock-in/out lewat aplikasi Absensi terpisah di attendance.satutim.id (bisa dibuka di browser HP maupun laptop, dan bisa dipasang ke home screen) dengan validasi multi-mode, kantor (GPS + WiFi), WFH, WFA, kunjungan klien. Di app utama SatuTim, anggota cuma melihat tombol Buka aplikasi Absensi. Status (tepat waktu / terlambat) dihitung otomatis dari shift assignment. Data nyambung langsung ke Payroll untuk potongan keterlambatan.
Owner workspace mengaktifkan lewat Menu Lainnya → Plugin → Kelola Plugin, lalu nyalakan switch Absensi Online (di HP: tab Menu → Jelajahi semua fitur → Kelola Plugin). Setelah aktif, pengaturannya ada di Menu Lainnya → Plugin → Absensi Online.
- Plugin nonaktif secara default dan cuma **owner workspace** yang bisa mengaktifkannya. Begitu aktif, staff langsung bisa clock-in dengan jam kerja default (09:00–17:00, toleransi 15 menit). Khusus mode **Kantor**, tambahkan dulu minimal satu lokasi di tab **Lokasi**.
- Absensi bisa dipakai di semua paket, termasuk Free. Plugin ini tidak membatasi jumlah karyawan yang absen maupun jumlah lokasi kantor; yang berlaku hanya batas anggota sesuai paket workspace.
- 2
Setup awal: jam kerja & timezone workspace
Sebelum karyawan bisa clock-in, admin harus set policy dasar. Buka Menu Lainnya → Plugin → Absensi Online, lalu tab Pengaturan (bagian Konfigurasi default):
- Mulai kerja dan Selesai kerja (default 09:00–17:00)
- Toleransi (menit) (default 15: clock-in sampai 15 menit setelah jam mulai masih dihitung tepat waktu)
- Hari kerja: klik tombol hari (Sen, Sel, Rab, …) sampai yang aktif berwarna hijau. Default Senin–Jumat; klik Sab kalau Sabtu juga hari kerja.
- Zona waktu absensi otomatis WIB (Asia/Jakarta) dan saat ini belum bisa diubah dari halaman pengaturan
- Potongan telat (Rp / menit, opsional): dipakai Payroll untuk potongan otomatis.
- Upah lembur dihitung Payroll dari bagian Aturan lembur (UU Cipta Kerja) (pengali × gaji/173); kolom Tarif lembur (flat) saat ini tidak dipakai Payroll.
Click Simpan. Config ini default untuk semua staff yang gak punya shift custom.
Zona waktu absensi default WIB dan tidak bisa diubah sendiri. Kalau timmu di WITA/WIT, hubungi support dulu sebelum mengandalkan perhitungan telat. - 3
Daftarkan lokasi kantor (geofence)
Untuk mode clock-in kantor, daftarkan lokasi kantor dengan radius. Di halaman Absensi Online, buka tab Lokasi, lalu klik + Tambah lokasi:
- Nama (mis. "Kantor Pusat Sudirman", "Cabang Bandung")
- Tentukan titik kantor lewat kolom Cari alamat, geser pin di peta, atau klik Gunakan lokasi saya saat kamu sedang di kantor. Alamatnya terisi otomatis (Alamat terdeteksi); tidak ada kolom isi latitude/longitude manual.
- Radius geofence dalam meter (default 100m, cukup buat 1 gedung. Bigger campus pakai 300-500m)
- WiFi IP allowlist (opsional, anti-spoofing tambahan), masukkan public IP kantor (cek di whatismyipaddress.com). Format
1.2.3.4atau CIDR1.2.3.0/24buat range. Multiple IP comma-separated. - Tidak ada toggle aktif/nonaktif: lokasi yang disimpan langsung aktif. Kalau sebuah lokasi tidak dipakai lagi, hapus lewat ikon tempat sampah di daftar lokasi.
Staff yang clock-in mode kantor dengan GPS di luar radius → ditolak dengan pesan "Di luar radius kantor (250m dari Kantor Pusat)". Kalau IP allowlist diset dan staff terhubung lewat WiFi rumah / pribadi → ditolak dengan pesan "Koneksi tidak dari WiFi kantor yang terdaftar".
- Tambah multiple lokasi kalau workspace punya beberapa cabang, system otomatis pilih yang terdekat
- WiFi IP allowlist optional tapi sangat recommended untuk anti-GPS-spoof
- 4
Bikin shift custom (opsional)
Default jam kerja workspace berlaku untuk semua. Tapi kalau tim kamu punya shift berbeda (mis. tim warehouse shift pagi 06:00-14:00, tim CS shift sore 14:00-22:00, tim security shift malam 22:00-06:00), bikin shift custom.
Di halaman Absensi Online, buka tab Shift, pilih sub-tampilan Shift & Pola, lalu klik + Tambah shift:
- Nama (mis. "Shift Pagi", "Shift Malam Security")
- Tidak ada pilihan tim di form shift; shift berlaku untuk seluruh workspace. Siapa yang memakai shift ditentukan lewat Atur anggota atau grid Jadwal Harian.
- Jam mulai / selesai
- Grace period (per-shift, override default)
- Hari kerja (per-shift)
- Warna badge (buat identifikasi visual)
Setelah shift dibuat, assign user ke shift: di kartu shift, klik Atur anggota, isi Mulai tanggal (dan Sampai tanggal kalau ada; kosongkan = berlanjut), centang anggota (bisa Pilih semua), lalu klik Assign … anggota. Maksimal 500 orang sekali simpan.
Kalau assignment seseorang tumpang tindih, yang dipakai: (1) pengaturan per hari di **Jadwal Harian**, lalu (2) assignment dengan rentang tanggal paling pendek; kalau sama panjang, yang tanggal mulainya paling baru. Pastikan tidak ada gap kalau pindah shift mid-week. - 5
Atur mode clock-in per user (policy)
Tidak semua staff perlu akses ke semua mode. Contoh: staff lapangan butuh
kunjungan + WFA, tapi tidak perlukantor. Sebaliknya, staff kasir cuma boleh modekantor(gak boleh WFH biar kasir gak skip ke rumah).Di halaman Absensi Online, buka tab Anggota. Cari nama karyawan, lalu klik chip mode (Kantor, WFH, WFA, Kunjungan) untuk menyalakan/mematikan, atau pakai tombol cepat Semua mode / Kantor saja. Perubahan langsung tersimpan. Mode yang diizinkan:
office, clock-in di lokasi kantor (butuh GPS dalam radius)wfh, work from home (gak butuh GPS, status auto "remote")wfa, work from anywhere (sama wfh tapi label beda buat laporan)visit, kunjungan klien (butuhvisitTarget, nama lokasi yang dikunjungi)
Default: kalau policy belum di-set, semua mode allowed (backward compat). Best practice: explicit set policy untuk setiap user.
- Owner workspace selalu masuk policy list, bahkan kalau bukan member tim manapun
- 6
Cara staff clock-in (dari sisi karyawan)
Staff buka aplikasi Absensi di attendance.satutim.id (atau dari SatuTim: Menu Lainnya → Plugin → Absensi Online → Buka aplikasi Absensi) dan masuk dengan akun SatuTim. Halaman utama:
- Status hari ini, kartu besar di atas: menampilkan Belum clock-in hari ini, lalu Sedang bekerja (jam masuk + durasi kerja) setelah clock-in, dan Sudah clock-out di 17:30 setelah pulang. Menit telat terlihat di Riwayat 7 hari terakhir.
- Tombol Clock-in besar dengan pilihan mode (sesuai policy user). Tap mode → permission GPS diminta browser → koordinat dikirim ke server.
- Status setelah submit:
- Kantor: server validasi GPS dalam radius + IP allowlist → success / error
- WFH / WFA: sukses langsung, status Remote
- Kunjungan: isi kolom Tujuan kunjungan / nama klien (wajib) dan boleh lampirkan Foto bukti (opsional) sebelum menekan tombol clock-in
- Catatan opsional, input teks bebas (mis. "Onboarding klien baru di Surabaya")
Logika telat: clock-in dalam masa toleransi dari jam mulai shift = Hadir. Lebih dari toleransi = Telat, dengan menit keterlambatan dihitung otomatis.
Clock-out: tap tombol Clock-out → GPS opsional (gak wajib) → status update + menit lembur dihitung kalau lebih lama dari jam selesai shift.
- Untuk memasang aplikasi Absensi ke home screen: beberapa detik setelah dibuka akan muncul ajakan **Pasang ke home screen** → tap **Pasang**. Di iPhone muncul panduan **Pasang di iPhone** (tombol Share → Add to Home Screen).
- Kalau GPS gagal di indoor (sinyal lemah), pindah dekat jendela atau pakai mode WFA + note
- 7
Stats personal & streak
Statistik pribadi langsung tampil di beranda aplikasi Absensi: kartu Hadir bulan ini, Telat bulan ini, Lembur bulan ini, Rata-rata mulai, plus lencana streak (ikon api + jumlah hari).
- Bulan ini: hari hadir, hari terlambat, total menit lembur, total menit telat, rata-rata jam clock-in (mis. "Rata-rata kamu masuk jam 08:23")
- Minggu ini (mulai Senin): jumlah hadir dan telat, tampil di samping Riwayat 7 hari terakhir
- Streak: berapa hari berturut-turut clock-in tepat waktu, streak putus kalau ada
late, dipreserve kalau ada hari weekend atau cuti - Shift aktif: nama shift dan jam mulai–selesai (tampil di kartu status)
Useful buat self-monitoring dan KPI personal. Owner/admin bisa melihat data tim di Absensi Online: tab Tim (catatan bulan ini) dan tab Pantau Langsung → Rekap Bulanan (ringkasan per karyawan).
- 8
Rekap admin & export untuk HR
Buka Absensi Online → tab Pantau Langsung, lalu gulir ke bagian Rekap Bulanan. Pilih bulan di kolom bulan; rekap otomatis menampilkan semua karyawan yang bisa kamu lihat.
View:
- Untuk melihat catatan per hari, buka tab Tim (daftar absensi bulan ini: jam masuk–pulang, mode, menit telat/lembur). Saat ini belum ada peta GPS, IP, atau heatmap kalender di tampilan admin.
- Rekap per karyawan berisi kolom Hadir, Telat, Remote, Absen, Telat (mnt), Lembur (mnt), Flag. Nominal potongan dalam Rupiah dihitung di plugin Payroll.
Export CSV / Excel untuk integrasi dengan HRIS lama (mis. tinggal upload ke sistem absensi existing). Atau langsung pakai data ini di plugin Payroll, tarif lateness × menit telat = potongan otomatis.
- Export dari **Rekap Bulanan** berisi ringkasan per karyawan untuk bulan yang dipilih.
- Visi field IP / GPS hanya untuk admin, staff biasa cuma lihat data dirinya sendiri
- 9
Push notif & remindber jam masuk
SatuTim Absensi PWA support push notification native:
- Pengingat clock-in: tiap Senin–Jumat jam 08:00 WIB, karyawan yang di-assign ke shift hari itu (lewat Atur anggota atau pola rotasi) dan belum clock-in dapat push Jangan lupa clock-in ⏰. Tidak dikirim saat hari libur workspace atau saat karyawan sedang cuti. Belum ada pengaturan khusus untuk mematikan pengingat absensi. Kalau tidak mau menerima push, matikan izin notifikasi aplikasi Absensi di pengaturan browser/HP.
- Saat ini belum ada pengingat clock-out. Sesi yang lupa ditutup akan ditandai otomatis oleh sistem (lihat langkah auto-close).
Untuk mengaktifkan push: buka aplikasi Absensi, tunggu banner Aktifkan notifikasi, tap Aktifkan, lalu pilih Izinkan/Allow di pop-up browser. Di iPhone, pasang dulu aplikasinya ke home screen.
iOS Safari support push notification PWA mulai iOS 16.4 (Maret 2023). Di iPhone yang lebih lama pengingat push tidak akan muncul (belum ada pengingat lewat email), jadi biasakan cek aplikasi Absensi tiap pagi. - 10
Anti-fraud: GPS spoof + IP cek
Concern umum: "Gimana kalau staff fake GPS via apps spoofer?" Jawabannya, lapis-lapis defensive:
- WiFi IP allowlist (paling kuat): kalau workspace ngotot, set IP kantor publik. Staff yang fake GPS tapi terhubung di rumah → IP gak match → ditolak. GPS spoof harus disertai VPN ke IP kantor (jauh lebih sulit).
- Akurasi GPS: untuk mode Kantor, kalau akurasi lebih buruk dari ±200 m clock-in ditolak dengan pesan Sinyal GPS terlalu lemah. Akurasi yang janggal (0 m atau ekstrem) ditandai Akurasi Janggal di tab Keamanan → Aktivitas Mencurigakan.
- Perangkat: sistem mengenali perangkat tiap karyawan; perangkat baru/yang belum dipercaya ditandai Perangkat Asing. Admin bisa menandainya terpercaya atau mencabutnya di tab Keamanan → Perangkat.
- Setiap clock-in menyimpan IP, koordinat GPS + akurasi, dan perangkat yang dipakai, jadi bisa dicek ulang kalau ada sengketa.
Best practice untuk industry sensitive (mis. tempat produksi, retail): kombinasikan IP allowlist + radius kecil (50m) + verifikasi wajah bawaan (karyawan mendaftarkan wajah di aplikasi Absensi lewat kartu Aktifkan verifikasi wajah).
GPS spoof prevention 100% mustahil di software, pasangkan dengan trust budaya kerja. Kalau staff sering spoof, problem-nya HR/management, bukan teknologi. - 11
Pengajuan kelambatan & ijin (link ke HR Requests)
Staff terlambat karena ban kempes / macet / sakit ringan? Kalau di-catat sebagai
latedi rekap, salary kepotong (kalau tarif denda aktif). Solusi: ajukan Justifikasi telat lewat plugin Hitung Lembur & Keterlambatan (owner perlu mengaktifkannya dulu di Kelola Plugin).Di aplikasi Absensi buka tab Lembur → + Ajukan baru → pilih Justifikasi telat, pilih Tim, isi tanggal di Mulai, tulis Alasan / keterangan, lampirkan bukti di Lampiran (foto/PDF) kalau ada → Kirim pengajuan.
Admin tim review di queue approval. Kalau di-approve, status
latetidak ke-include di perhitungan denda Payroll. Lihat tutorial HR Requests untuk flow lengkap.- Justifikasi keterlambatan opsional, kalau workspace gak set tarif denda, late cuma jadi catatan tanpa efek finansial
- 12
Hari libur nasional + cuti bersama (calendar)
Workspace owner harus daftarkan hari libur supaya streak hadir + denda telat di Payroll fair ke karyawan. Tanpa ini, Lebaran tanggal 21 Maret bakal kebaca "semua karyawan absen", false alarm.
Buka Pengaturan → Kalender & Hari Libur (khusus owner; menambah hari libur butuh paket Pro atau Business):
- Saat ini belum ada tombol isi otomatis libur nasional untuk absensi. Daftar Hari Libur Nasional (sinkron otomatis tiap bulan, tombol Sync Sekarang) hanya dipakai kalender; supaya absensi, streak, Payroll, dan cuti ikut melewati tanggal libur, tambahkan tanggalnya di bagian Hari Libur Custom.
- Klik Tambah di bagian Hari Libur Custom, isi Tanggal dan Nama Hari Libur, lalu Simpan. Tidak ada pilihan berbayar/tidak berbayar.
- Daftar menampilkan hari libur tahun berjalan. Untuk mengganti nama, hapus (ikon tempat sampah) lalu tambahkan lagi.
Efek otomatis:
- Streak hadir: hari libur skip dari hitungan (gak putus streak)
- Payroll lateness: kalau staff masuk telat di hari libur, gak dipotong (kerja sukarela)
- Push reminder clock-in: skip kirim notif pagi di hari libur
- Cuti pengajuan: hari libur otomatis exclude dari hitungan working days (cuti 1 minggu yang melewati Lebaran = ke-charge cuma 3 hari)
- Update tiap akhir tahun dengan SK Menteri Agama terbaru, biasanya November
- 13
Admin koreksi record absensi (data integrity)
Real-world HR sering hadapin kasus:
- Staff lupa clock-out semalem, status "tidak lengkap"
- GPS buggy hari Senin, status "telat" 3 jam padahal cuma 5 menit
- Aplikasi sempat bermasalah jam 8 pagi, semua staff gak bisa clock-in
- Staff sakit dadakan tapi lupa lapor, record dummy harus dimasukkan
Dulu satu-satunya cara adalah mengedit data mentah secara manual (berisiko, tanpa jejak). Saat ini belum ada tombol untuk mengoreksi atau menghapus catatan absensi di aplikasi. Kalau ada catatan yang salah (lupa clock-out, salah mode, dll.), hubungi support SatuTim lewat Pusat Bantuan.
Setiap koreksi mencatat:
- siapa admin yang mengedit
- waktu koreksi
- alasan koreksi
- Audit log: aktivitas "koreksi record absensi" atau "hapus record absensi"
Keterlambatan/lembur dihitung ulang otomatis kalau jam masuk/pulang berubah (kecuali admin override status secara eksplisit).
Koreksi adalah legally sensitive, kalau staff dispute payroll, audit log ini yang dijadikan bukti. Jangan abuse. - 14
Selfie saat clock-in (anti-curang ekstra)
Lokasi GPS dan jaringan kantor kadang masih bisa diakali. Lapis pengaman tambahan: di aplikasi Android SatuTim, setiap clock-in/out (semua mode) disertai selfie. Di aplikasi Absensi versi web (attendance.satutim.id) tidak ada foto selfie; pengamannya verifikasi wajah (kalau karyawan sudah mendaftarkan wajah).
Cara pakai (staff), di aplikasi Android: tap Clock In → pilih mode → di langkah verifikasi izinkan kamera, hadapkan wajah ke kamera depan, lalu tap Ambil foto & Clock In. Foto langsung terkirim bersama absensi.
Foto selfie tersimpan di server, tapi saat ini belum ada tampilan untuk membukanya dari halaman admin.
Selfie melengkapi lokasi GPS + jaringan kantor jadi pengecekan berlapis, sehingga lebih sulit dicurangi.
Privasi:
- Saat ini selfie tidak bisa diatur atau dimatikan per workspace. Pemantauan keamanan ada di tab Keamanan (Aktivitas Mencurigakan, Enrolment Wajah, Perangkat).
- Pakai koneksi yang stabil supaya unggah selfie lancar; kalau unggahan gagal, absensi tetap terkirim tanpa foto.
Konsultasikan dulu dengan tim HR + legal sebelum mewajibkan selfie, UU PDP (No. 27/2022) mensyaratkan persetujuan eksplisit untuk data biometrik. - 15
Auto-close incomplete sessions (jaga integritas data)
Tanpa fitur ini, sesi clock-in yang lupa clock-out akan terus terbuka di sistem. Stats hitung salah (rata-rata clock-in kebawa weird), Payroll lateness misleading, manager view confusing.
Sistem otomatis jalan tiap hari jam 00:00 WIB:
- Cek semua catatan absensi yang belum clock-out dan clock-in-nya lebih dari 18 jam yang lalu
- Set status menjadi "incomplete", hitung menit keterlambatan (lembur = 0 karena gak ada clock-out)
- Catat di audit log dengan pelaku "sistem"
18 jam threshold:
- Conservative, staff yang lembur sampe tengah malem masih punya 6 jam toleransi setelah jam pulang normal
- Sesi yang lupa di-clock-out ditandai otomatis pada pengecekan tengah malam (00:00 WIB) pertama setelah lewat 18 jam dari jam clock-in; untuk shift pagi biasanya di tengah malam hari berikutnya (sekitar 40 jam setelah clock-in)
Staff yang ketauan habis lupa clock-out:
- Catatan jadi status "incomplete" di stats personal, tampil dengan label Belum selesai (di aplikasi Android: Belum clock-out)
- Saat ini belum ada tombol koreksi jam clock-out di aplikasi; hubungi support lewat Pusat Bantuan kalau perlu penyesuaian
Proses ini aman diulang: hasil akhirnya tetap sama.
- 16
Plan gating + limit per paket
Absensi tersedia di semua plan (termasuk Free), tapi dengan limit:
- Semua paket (termasuk Free) mendapat fitur Absensi yang sama: lokasi kantor, IP allowlist, shift, Jadwal Harian, rekap & export. (Yang butuh Pro/Business hanya menambah Hari Libur Custom di Pengaturan → Kalender & Hari Libur.)
- Perbedaan paket hanya di batas anggota workspace (mis. Free 5 per tim, Pro 25 per tim); fitur Absensi-nya sama.
- Assign shift massal (maks. 500 orang sekali simpan) tersedia di semua paket.
Upgrade paket lewat Pengaturan → Billing & Paket.
Yang dicek server adalah apakah plugin Absensi aktif di workspace; kalau belum aktif, semua aksi absensi ditolak. - 17
Troubleshooting umum
Masalah yang sering ke-report + fix:
"Lokasi kantor belum diatur" / "Belum ada lokasi kantor aktif" saat clock-in mode kantor:
→ Admin belum menambahkan lokasi. Tambahkan di Absensi Online → tab Lokasi → + Tambah lokasi; sementara itu karyawan bisa pakai WFH/WFA kalau diizinkan."Di luar radius kantor (250m)" padahal lagi di lobby:
→ GPS tidak akurat karena indoor. Coba pindah dekat jendela. Atau admin tambah radius ke 200m."Koneksi tidak dari WiFi kantor yang terdaftar":
→ IP allowlist active dan staff connect via WiFi rumah / mobile data. Solusi: switch ke WiFi kantor, atau admin update allowlist kalau staff resmi WFH (atau pakai mode WFH instead of kantor)."Kamu sudah clock-in hari ini, lakukan clock-out dulu":
→ Ada sesi terbuka. Clock-out dulu sesi sebelumnya, baru clock-in lagi (mis. balik dari istirahat siang panjang)."Mode tidak diizinkan untuk akun kamu":
→ Kebijakan user gak include mode itu. Admin update kebijakan.Status Belum selesai:
→ Karyawan clock-in tapi tidak clock-out. Sistem menandainya otomatis saat pengecekan tengah malam setelah lewat 18 jam dari clock-in. Saat ini belum ada tombol untuk menutup/mengoreksi sesi secara manual.Streak salah hitung:
→ Streak putus kalau ada hari kerja tanpa clock-in atau clock-in telat. Sabtu–Minggu, tanggal di Hari Libur Custom, dan cuti yang disetujui dilewati.Masih stuck? Buka /support/new dengan: screenshot error, mode yang dipakai, koordinat GPS exact, IP kalau pakai allowlist.