Bagi kebanyakan orang, aplikasi payroll itu kotak ajaib: data masuk, slip gaji keluar. Tapi bagi kita di tim IT Development, sistem ini adalah sebuah ekosistem data yang kompleks dan saling terhubung. Memahami alur logikanya adalah kunci untuk bisa mengembangkan dan mendukungnya dengan baik.
Secara sederhana, saya suka membaginya menjadi empat bagian utama:
1. Fondasi: Master Data Karyawan
Ini adalah sumber kebenaran tunggal (single source of truth). Semua perhitungan dimulai dari sini. Data ini bersifat relatif statis dan biasanya di-update hanya jika ada perubahan status karyawan. Isinya antara lain:
- Data Pribadi: Nama, NIK, NPWP, status keluarga (untuk PTKP/pajak).
- Data Kepegawaian: Jabatan, departemen, tanggal bergabung, status (permanen/kontrak).
- Data Finansial: Gaji pokok, nomor rekening bank, komponen tunjangan tetap.
Data yang tidak valid di sini akan menyebabkan kekacauan di semua tahap berikutnya.
2. Input Dinamis: Komponen Pendapatan & Potongan
Setiap bulan, ada data-data variabel yang masuk dan memengaruhi perhitungan gaji.
- Pendapatan Variabel: Data absensi (untuk menghitung tunjangan kehadiran), data lembur, bonus, dan insentif.
- Potongan Variabel: Potongan karena keterlambatan/absensi, cicilan pinjaman karyawan, dll.
Data ini biasanya datang dari modul lain (seperti sistem absensi) atau diinput manual oleh HR.
3. "Dapur Pacu": Proses Kalkulasi Gaji
Di sinilah semua logika pemrograman .NET dan query SQL kompleks beraksi. Prosesnya kira-kira seperti ini:
- Ambil Gaji Pokok & Tunjangan Tetap dari Master Data.
- Tambahkan semua komponen pendapatan variabel. Hasilnya adalah Gaji Kotor (Gross Salary).
- Hitung semua potongan: PPh 21 (pajak), iuran BPJS Kesehatan & Ketenagakerjaan, dan potongan variabel lainnya.
- Gaji Kotor - Total Potongan = Gaji Bersih (Net Salary).
Setiap langkah ini melibatkan aturan bisnis yang rumit, terutama perhitungan pajak PPh 21 yang memiliki banyak sekali variabel.
4. Hilir: Integrasi dan Pelaporan
Setelah gaji bersih dihitung, pekerjaan belum selesai. Data ini harus didistribusikan ke sistem lain. Di sinilah peran API (Application Programming Interface) menjadi sangat vital.
- Ke Sistem Keuangan (SAP/BW): Data rekapitulasi gaji dikirim ke tim finance untuk proses pembukuan dan budgeting. Biasanya ini dilakukan melalui integrasi data yang terjadwal.
- Ke Sistem Perbankan: Data nama, nomor rekening, dan nominal gaji bersih dikirim ke bank untuk proses transfer massal.
- Ke Platform Business Intelligence (Tableau): Data historis gaji, lembur, dan komponen lainnya dikirim ke Tableau. Tim manajemen bisa menganalisis tren biaya tenaga kerja melalui dashboard interaktif di sini.
Jadi, mengelola sistem payroll bukan cuma soal coding. Ini tentang memahami alur bisnis HR dari hulu ke hilir dan memastikan data mengalir dengan akurat di antara berbagai sistem. Seru, kan?
