Dexova HRIS — Payroll & Absensi
Payroll sadar regulasi dan absensi geofence — mesin HR Dexova dari dekat.
- Role
- Architect & Full-Stack Developer
- Periode
- 2025 – sekarang
- Kategori
- Deep dive · HRIS
- Kode
- Repo privat
- Stack
- GoPostgreSQL + sqlcRedis (job queue)Next.js (dex-fe)PWA (dex-attendance)
Context
HRIS adalah modul terbesar Dexova — dan alasan banyak bisnis melirik ERP. Modul ini melayani dua persona lewat dua aplikasi berbeda: admin HR bekerja di dashboard (dex-fe), karyawan memakai PWA absensi (dex-attendance).
Halaman ini membedah tiga bagian yang paling berat secara engineering: payroll engine, absensi geofence, dan mesin approval.
Payroll engine
Aturan penggajian Indonesia diimplementasikan sebagai business rules yang bisa dikonfigurasi — bukan angka hardcode:
- Lembur bertingkat mengikuti PP 35/2021 — tarif berbeda per jam ke-1, jam berikutnya, dan hari libur; lembur tercipta otomatis saat jadwal terlampaui, lalu melewati approval.
- Komponen gaji fleksibel per perusahaan + tarif per karyawan (pro-rata untuk karyawan baru, komponen yang ditanggung perusahaan).
- Cutoff vs payday dikonfigurasi terpisah; payday bergeser otomatis ketika jatuh di hari libur bank.
- Periode payroll dikunci sebelum run — run digenerate dari data absensi yang sudah final, dengan progress monitoring.
- Penyesuaian satu kali: bonus, THR, severance — masuk run tanpa mengubah komponen permanen.
- Pinjaman karyawan dengan pemotongan gaji otomatis per periode.
- Aturan pembagi tarif harian, strategi pembulatan, tipe minggu kerja (termasuk Sabtu setengah hari) — semua konfigurasi, bukan cabang if di kode.
- Periode payroll yang lupa dikunci? Ada scheduler auto-lock — periode menutup dirinya sendiri sesuai konfigurasi.


Absensi geofence
Absensi adalah data mentah payroll — kalau absensinya salah, gajinya salah. Desainnya berfokus pada validitas data di sumbernya:
- Check-in/out dari PWA dengan geofence (Geolocation API + retry/backoff): aplikasi mendeteksi kantor terdekat dan menolak absen di luar radius.
- Selfie wajib saat check-in — kamera via getUserMedia dengan overlay nama + timestamp, mencegah titip absen.
- Model dua alamat untuk WFH — karyawan bisa mengajukan lokasi rumah sebagai geofence kedua, lewat approval.
- Koreksi kehadiran ber-approval (bukan edit bebas), plus manajemen pulang-lebih-awal.
- Aturan pelanggaran + ambang keterlambatan per lokasi/departemen; analytics kehadiran dan laporan kepatuhan untuk HR.
- Rekap bulanan mengunci data kehadiran sebagai input payroll — satu sumber kebenaran.


Mesin approval
- Aturan approval multi-level dengan final approval wajib di HR — konsisten untuk cuti, koreksi absen, lembur, dan shift swap.
- Delegasi approval saat approver cuti/berhalangan.
- Eskalasi otomatis berbasis SLA (scheduler in-process): pengajuan yang tidak direspons naik ke approver berikutnya — pengajuan tidak pernah menggantung.
Shift & penjadwalan
- Grid shift bulanan dengan generator rotasi otomatis.
- Shift swap antar-karyawan dengan approval.
- Toleransi keterlambatan per jadwal kerja.
Data operations
Onboarding perusahaan berarti ratusan karyawan masuk sekaligus — jalur datanya harus kuat:
- Bulk import Excel (Combined Bulk Import) sebagai job async: progress tracking, mode commit, strategi duplikat, dan auto-provisioning akun.
- Export CSV/Excel dengan mode sync untuk data kecil dan async untuk dataset besar.
- Reset password self-service dengan OTP email, masa berlaku, lockout 5 percobaan, dan eskalasi admin.

Outcome
- Payroll berjalan dari data absensi yang terkunci — bukan spreadsheet yang diedit di menit terakhir.
- Aturan regulasi (lembur bertingkat, payday shift) hidup sebagai konfigurasi teruji, siap mengikuti perubahan kebijakan.
- HR berhenti menjadi operator data manual: approval, koreksi, dan rekap berjalan lewat alur yang bisa diaudit.
Lessons learned
- 01
Aturan ketenagakerjaan berubah — payroll engine yang memisahkan aturan dari kode adalah investasi, bukan over-engineering.
- 02
Validitas data absensi harus dijaga di sumbernya (geofence, approval koreksi); membersihkannya belakangan jauh lebih mahal.
- 03
SLA + eskalasi otomatis mengubah approval dari bottleneck organisasi menjadi proses yang selesai sendiri.
Lanjut baca
Butuh sistem seperti ini?
Saya menerima proyek pembangunan sistem bisnis — dari perencanaan arsitektur sampai aplikasi berjalan di production.