SDM & Payroll
Modul SDM mencakup data karyawan, absensi, penggajian (termasuk THR), dan pinjaman karyawan. Sebagian besar halaman hanya untuk pemilik dan manager; absensi harian (clock in/out) bisa diakses semua role yang sudah aktif.
Data karyawan
Section titled “Data karyawan”Tujuan: mengelola data induk karyawan.
- Buka menu SDM.
- Klik Tambah untuk mendaftarkan karyawan baru: ID karyawan, tipe (tetap/kontrak/harian/magang), nama, jabatan, departemen, tanggal masuk, gaji pokok, data bank, NPWP, status PTKP, metode pajak (pajak ditanggung karyawan atau perusahaan), dan nomor BPJS.
- Untuk menonaktifkan karyawan yang sudah keluar, edit datanya dan matikan toggle Karyawan Aktif — jangan menghapusnya begitu saja.
Kesalahan umum: karyawan yang sudah punya slip gaji tidak bisa dihapus dari sistem — nonaktifkan saja.
Absensi
Section titled “Absensi”Tujuan: mencatat kehadiran karyawan harian.
- Karyawan melakukan Clock In dan Clock Out sendiri di menu Clock, hanya dalam jam yang diizinkan (default sekitar 06.00–10.00 untuk masuk, 15.00–23.00 untuk pulang — bisa diatur admin).
- Karyawan bisa melihat riwayat kehadirannya sendiri di Absensi Saya.
- Manager meninjau dan mengoreksi data harian semua karyawan di menu Absensi (tab Hari Ini/Input Harian/Rekap Bulanan/dll).
Kesalahan umum:
- Tidak bisa clock-in dua kali dalam sehari, dan tidak bisa clock-out sebelum clock-in.
- Clock-in di luar jam yang diizinkan akan ditolak sistem dengan pesan khusus — hubungi admin jika jadwal kerja memang di luar jam default.
- Keterlambatan ditandai otomatis (“Terlambat”) jika clock-in melewati jam masuk + toleransi yang dikonfigurasi.
Penggajian (payroll)
Section titled “Penggajian (payroll)”Tujuan: menjalankan proses gaji bulanan dan membagikan slip gaji.
- Buka menu Penggajian, buat periode baru (per bulan).
- Klik Generate untuk membuat slip gaji semua karyawan otomatis (berdasarkan hari kerja yang diisi), atau buat Slip Manual per karyawan bila perlu penyesuaian.
- Tiap slip menghitung otomatis: BPJS Kesehatan/JHT/JP dan PPh 21 (berdasarkan PTKP karyawan), ditambah tunjangan dan potongan manual yang diisi.
- Selama periode masih Draft, slip bisa diedit/dihapus. Klik Finalisasi untuk mengunci periode, lalu Tandai Dibayar per slip setelah transfer gaji dilakukan.
- Karyawan melihat slip gajinya sendiri di menu Slip Gaji Saya.
Kesalahan umum: setelah periode difinalisasi, slip di periode itu tidak bisa diedit atau dihapus lagi — pastikan datanya benar sebelum finalisasi.
THR (Tunjangan Hari Raya)
Section titled “THR (Tunjangan Hari Raya)”Tujuan: menghitung dan membayar THR tahunan.
- Di menu Penggajian, buka tab THR.
- Buat konfigurasi THR tahun berjalan: metode perhitungan (Full = 1x gaji pokok, atau Pro-rata berdasarkan masa kerja), masa kerja minimum untuk berhak THR, apakah tunjangan tetap ikut dihitung, dan apakah THR kena potongan PPh 21.
- Klik Generate THR — sistem membuat slip THR untuk semua karyawan yang memenuhi syarat (karyawan yang tidak memenuhi syarat ditandai “skipped”).
- Approve Semua, lalu Bayar Semua setelah transfer dilakukan.
Kesalahan umum: “Hapus Semua” slip THR hanya bisa dilakukan jika belum ada satu pun yang sudah dibayar.
Pinjaman karyawan
Section titled “Pinjaman karyawan”Tujuan: mengelola pengajuan dan pencairan pinjaman uang untuk karyawan.
- Buka menu Pinjaman Karyawan, tab Daftar Pinjaman.
- Buat pinjaman baru untuk seorang karyawan: pilih jenis pinjaman, jumlah, dan tenor (bulan) — estimasi cicilan dihitung otomatis.
- Pinjaman bergerak melalui status: Diajukan → Ditinjau → Disetujui → Dicairkan → Aktif → Lunas (atau Ditolak/Dibatalkan).
- Atur jenis pinjaman (nominal & tenor maksimum) di tab Jenis Pinjaman, dan batas umum (masa kerja minimum, maksimum cicilan sebagai persentase gaji) di tab Pengaturan.
- Lihat tren pinjaman di Analisis Pinjaman.
Kesalahan umum:
- Pengajuan ditolak otomatis bila jumlah di luar batas jenis pinjaman, tenor melebihi maksimum, atau karyawan sudah punya pinjaman aktif sebanyak batas yang diizinkan.
- Jenis pinjaman yang sudah pernah dipakai tidak bisa dihapus — nonaktifkan saja.
Sumber: src/pages/sdm/page.tsx, src/pages/payroll/page.tsx,
src/pages/payroll/slip/page.tsx, src/pages/absensi/page.tsx,
src/pages/clock/page.tsx, src/pages/my-attendance/page.tsx,
src/pages/pinjaman-karyawan/page.tsx,
src/pages/pinjaman-karyawan/analisis/page.tsx, src/lib/role-access.ts.