Lewati ke konten

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.

Tujuan: mengelola data induk karyawan.

  1. Buka menu SDM.
  2. 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.
  3. 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.

Tujuan: mencatat kehadiran karyawan harian.

  1. 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).
  2. Karyawan bisa melihat riwayat kehadirannya sendiri di Absensi Saya.
  3. 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.

Tujuan: menjalankan proses gaji bulanan dan membagikan slip gaji.

  1. Buka menu Penggajian, buat periode baru (per bulan).
  2. Klik Generate untuk membuat slip gaji semua karyawan otomatis (berdasarkan hari kerja yang diisi), atau buat Slip Manual per karyawan bila perlu penyesuaian.
  3. Tiap slip menghitung otomatis: BPJS Kesehatan/JHT/JP dan PPh 21 (berdasarkan PTKP karyawan), ditambah tunjangan dan potongan manual yang diisi.
  4. Selama periode masih Draft, slip bisa diedit/dihapus. Klik Finalisasi untuk mengunci periode, lalu Tandai Dibayar per slip setelah transfer gaji dilakukan.
  5. 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.

Tujuan: menghitung dan membayar THR tahunan.

  1. Di menu Penggajian, buka tab THR.
  2. 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.
  3. Klik Generate THR — sistem membuat slip THR untuk semua karyawan yang memenuhi syarat (karyawan yang tidak memenuhi syarat ditandai “skipped”).
  4. 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.

Tujuan: mengelola pengajuan dan pencairan pinjaman uang untuk karyawan.

  1. Buka menu Pinjaman Karyawan, tab Daftar Pinjaman.
  2. Buat pinjaman baru untuk seorang karyawan: pilih jenis pinjaman, jumlah, dan tenor (bulan) — estimasi cicilan dihitung otomatis.
  3. Pinjaman bergerak melalui status: Diajukan → Ditinjau → Disetujui → Dicairkan → Aktif → Lunas (atau Ditolak/Dibatalkan).
  4. Atur jenis pinjaman (nominal & tenor maksimum) di tab Jenis Pinjaman, dan batas umum (masa kerja minimum, maksimum cicilan sebagai persentase gaji) di tab Pengaturan.
  5. 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.