Payroll
Untuk:HR Admin
Mengatur komponen gaji, membuat payroll bulanan, menambah bonus, memfinalkan, lalu menandai sudah dibayar.
Menu Payroll di app admin hanya tampil untuk Admin HR yang memegang Payroll access. Alurnya: siapkan komponen dan gaji karyawan, buat draft payroll per bulan, periksa dan tambah bonus atau potongan, finalkan, lalu tandai sudah dibayar setelah transfer.
Mengatur komponen gaji
Setiap baris di slip gaji berasal dari daftar komponen di Settings › Pay components.
Buka Settings, lalu Pay components.
Periksa daftar. Kolom Type membedakan Earning (penghasilan) dan Deduction (potongan). Kolom Input menunjukkan cara nilainya diisi.

Daftar komponen gaji Untuk komponen baru, tekan Add component. Isi Name, pilih Type dan Input, lalu atur Order (urutan di slip) dan centang Taxable jika komponen kena pajak.
Centang Part of the monthly wage for overtime pay, Part of the wage for BPJS, atau Part of the wage for THR jika komponen ikut menjadi dasar perhitungan modul tersebut.
Tekan Save.

| Input | Arti |
|---|---|
| Fixed | Nominal tetap per karyawan, diisi di tab Pay pada detail karyawan. Contoh: gaji pokok, tunjangan jabatan, iuran koperasi. |
| Variable | Diisi per karyawan di setiap draft payroll. Contoh: bonus. |
| Payroll module | Dihitung otomatis oleh modul (lembur, THR, potongan absen, prorata, BPJS, PPh 21). Hanya terisi jika modulnya menyala di Payroll settings (lihat Pengaturan HR). |
Mengisi gaji karyawan
Gaji, rekening bank, kepesertaan BPJS, dan profil PPh 21 setiap karyawan diatur di tab Pay pada detail karyawan (Employees, pilih nama karyawan). Isi Change salary dengan komponen, nominal, dan Effective date, lalu Save salary. Riwayatnya tampil di Salary history. Gaji banyak karyawan sekaligus bisa diimpor lewat Employees › Import salaries.

Catatan Tab Pay juga hanya tampil untuk pemegang Payroll access. Pengelolaan data karyawan lainnya dijelaskan di Data karyawan.
Membuat payroll bulanan
Tekan Payroll di menu samping.
Di kartu Create payroll, pilih Month, lalu tekan Create payroll.

Form Create payroll Draft terbuka dengan judul Payroll <bulan> dan status Draft. Di bagian atas tampil jumlah karyawan, total bruto, potongan, dan bersih, lalu total per komponen dan tabel per karyawan.
Periksa kotak No salary set. Karyawan di kotak itu bekerja di bulan tersebut tetapi belum punya gaji pokok, jadi tidak masuk payroll. Isi gajinya, lalu tekan Refresh from master.

Tombol di draft:
- Export Excel mengunduh register payroll.
- Refresh from master mengambil ulang gaji, komponen tetap, dan pengaturan terbaru. Pakai setelah mengubah data master.
- Delete draft menghapus draft beserta semua baris dan catatannya. Gaji di data master tidak berubah.
Menambah bonus atau potongan
- Di baris karyawan, tekan Edit.
- Di dialog, nominal komponen tetap bisa diubah khusus untuk bulan ini.
- Untuk bonus atau potongan variabel, tekan Add line, pilih Component, isi nominal, dan bila perlu catatan.
- Tekan Save. Gaji bersih karyawan di tabel langsung berubah.

Memfinalkan payroll
Setelah semua baris benar, tekan Finalize.
Baca konfirmasinya, lalu tekan Finalize di dialog.

Konfirmasi Finalize payroll Status berubah menjadi Finalized. Karyawan bisa melihat slipnya di menu Payslips app staff (lihat Slip gaji) dan menerima email pemberitahuan.

Setelah final, tombol Bank file mengunduh berkas CSV berisi gaji bersih dan rekening tiap karyawan untuk transfer massal di bank. Pilih satu bank atau Every bank.
Jika ada kesalahan setelah final, tekan Reopen, isi Reason, lalu konfirmasi. Payroll kembali menjadi draft, dan slipnya tersembunyi dari karyawan sampai difinalkan lagi.
Menandai sudah dibayar
Setelah transfer selesai, tekan Mark as paid.
Isi Pay date, lalu tekan Mark as paid di dialog.

Dialog Mark as paid Status menjadi Paid, dan tanggal bayar tampil di daftar payroll dan di slip karyawan.

Penting Payroll yang sudah Paid tidak bisa diubah atau dibuka kembali. Koreksi dimasukkan ke payroll bulan berikutnya.
Laporan BPJS dan PPh 21
Tombol BPJS report dan PPh 21 report di halaman Payroll membuka rekap iuran BPJS per program per bulan dan pemotongan PPh 21 per karyawan. Keduanya hanya menghitung payroll Finalized dan Paid, dan bisa diunduh lewat Export Excel. Sheet Yearly di Excel PPh 21 berisi data untuk bukti potong tahunan. Aplikasi tidak terhubung ke sistem kantor pajak.
Aturan
- Satu bulan hanya punya satu payroll. Membuat payroll untuk bulan yang sudah ada menampilkan Payroll for this month already exists.
- Draft memuat setiap karyawan yang bekerja di bulan itu dan punya gaji pokok, termasuk karyawan yang masuk atau keluar di tengah bulan. Nominal yang dipakai adalah yang berlaku pada hari terakhir bulan itu.
- Komponen Fixed berasal dari data master. Komponen Variable hanya diisi di draft. Komponen Payroll module dihitung otomatis dan hanya jika modulnya menyala.
- Jenis dan input komponen yang sudah dipakai tidak bisa diubah. Komponen yang dinonaktifkan tetap tampil di payroll lama.
- Status payroll: Draft (bisa diubah) › Finalized (terlihat oleh karyawan, masih bisa dibuka kembali dengan alasan) › Paid (final, tidak bisa diubah).
- Setelah final, perubahan gaji dengan tanggal berlaku di bulan itu tidak diterima lagi.
- Email slip gaji (PAYSLIP_AVAILABLE) tidak memuat nominal apa pun. Karyawan yang sudah keluar tidak menerima email (status Skipped di Log email).
- Pengaturan payroll berlaku mulai bulan yang dipilih untuk payroll yang dibuat atau di-refresh setelah disimpan. Bulan yang sudah final memakai pengaturan saat dibuat.
- Admin HR baru tidak otomatis mendapat Payroll access. Pemegang akses memberikannya lewat sakelar Payroll access di detail karyawan. Tanpa akses, halaman payroll menampilkan Page not found.
- Tarif BPJS, lembur, PPh 21, dan THR mengikuti peraturan yang dirangkum di
docs/payroll-regulations.md. Tarifnya disimpan bertanggal, jadi perubahan peraturan cukup diisi di halaman pengaturan.