Lembur
Lembur adalah cara GARP membayar jam kerja karyawan di luar shift normalnya. HR menyiapkan aturannya sekali di awal, supervisor menyetujui setiap lembur satu per satu, dan siapa pun yang menjalankan penggajian mengubah jam yang sudah disetujui itu menjadi satu baris di slip gaji.
Ada lima hal yang terlibat. Overtime Request (permintaan lembur) mengotorisasi satu rentang waktu di muka. Overtime Type (jenis lembur) menentukan berapa nilai satu jam lembur. Catatan Attendance (absensi) memuat check-in hari itu. Overtime Slip (slip lembur) mengumpulkan lembur satu karyawan untuk satu periode penggajian. Dan Additional Salary (gaji tambahan), yang dibuatkan untuk Anda oleh slip saat disubmit, adalah dokumen yang membawa nominalnya sampai ke Salary Slip (slip gaji).
Aturan yang menggerakkan semuanya: tidak ada Overtime Request yang disetujui, tidak ada lembur yang dibayar. Bekerja sampai larut tanpa Overtime Request tetap menghasilkan absensi dan check-in, tetapi tidak pernah menghasilkan satu baris pun pada slip.
Di mana halamannya. Overtime Type dan Overtime Slip berada di workspace Shift & Attendance pada
grup Overtime — buka workspace itu lewat namanya dari sidebar, karena namanya mengandung tanda
ampersand. Tampilan daftarnya ada di /app/overtime-type, /app/overtime-slip dan
/app/overtime-request.
Overtime Request tidak ada di workspace mana pun maupun di kartu sidebar. Hanya Overtime Type dan
Overtime Slip yang ditautkan dari Shift & Attendance. Aksesnya lewat /app/overtime-request atau lewat
awesome bar, dan berikan tautan itu langsung kepada para supervisor Anda. Dokumen ini juga tidak punya
halaman di aplikasi self-service karyawan — permintaan hanya bisa diajukan lewat aplikasi desk.
Yang mungkin ingin Anda kerjakan
- Menyiapkan lembur untuk pertama kali
- Membayar lembur bulan ini, dengan urutan yang benar
- Mengajukan dan menyetujui satu permintaan lembur (SPL)
- Membuat dan men-submit Overtime Slip
- Menjalankan lembur di dalam proses penggajian
- Menambahkan baris lembur secara manual
- Mencari tahu kenapa satu hari hilang dari slip
- Memeriksa angka lembur setelah penggajian
- Melihat apa yang diminta peraturan Indonesia, dan apa yang tidak dikerjakan GARP
- Mengikuti angkanya lewat contoh nyata
- Mencari satu field, aturan, izin akses, atau pesan error
Menyiapkan lembur untuk pertama kali
Ini hanya dikerjakan sekali. Kerjakan berurutan — setiap langkah bergantung pada langkah sebelumnya.
- Salary Component untuk pembayarannya, bertipe Earning — misalnya
Upah Lembur. Additional Salary hanya masuk ke sisi earnings pada Salary Slip jika tipe komponennya Earning. - Salary Structure yang memuat komponen-komponen dasar perhitungan tarif per jam, sudah disubmit, beserta Salary Structure Assignment untuk setiap karyawan yang akan mengajukan lembur. Tanpa assignment, slip tidak dapat menghitung tarif dan menolak menetapkan periodenya.
- Holiday List, termasuk hari libur mingguan, dan Holiday List Assignment untuk perusahaan atau karyawan. Inilah yang menentukan sebuah tanggal termasuk hari kerja, hari libur mingguan, atau hari libur nasional — dan karena itu menentukan pengali mana yang dipakai.
- Overtime Type — kartu tarifnya: salary component, metode perhitungan, skema pengali, aturan penghitungan, dan batas maksimum harian.
- Shift Type dengan Allow Overtime tercentang dan Overtime Type terpilih, ditambah Shift Assignment untuk setiap karyawan. Jam mulai dan jam selesai shift inilah yang memisahkan jam kerja biasa dari jam lembur. Jika Anda membayar lembur pada hari libur mingguan atau hari libur nasional, centang juga Mark Auto Attendance on Holidays pada Shift Type.

Sebuah Overtime Type. Multiplier Scheme memilih tarif flat atau bertingkat; yang bertingkat adalah pola lembur Indonesia.
Apa yang sudah dikerjakan penyiapan Indonesia untuk Anda
Pada instalasi GARP, sebagian besar penyiapan di atas sudah dikerjakan oleh penyiapan lembur Indonesia. Periksa dulu apa yang ditinggalkannya untuk Anda sebelum membangun apa pun secara manual:
- Custom field Overtime Request Approver pada Employee (sebuah link ke user) dan pada Department (sebuah tabel Department Approver).
- Sebuah Salary Component bertipe Earning bernama Upah Lembur, dengan singkatan
LMB, Depends on Payment Days tidak aktif, dan tanpa formula — nominalnya selalu datang dari Additional Salary. - Sebuah Overtime Type bernama Lembur GARP: metode Monthly Divisor dengan pembagi 173, skema Tiered 1.5 / 2 pada hari kerja dan 3 / 4 pada hari libur, ambang minimum satu jam dengan basis Daily Total, tier pertama satu jam, pembulatan setengah jam, tanpa batas harian. Applicable components-nya Gaji Pokok dan Masa Kerja, sepanjang komponen tersebut ada.
- Allow Overtime, Overtime Type dan Mark Auto Attendance on Holidays diaktifkan pada setiap Shift Type yang auto attendance-nya memang sudah aktif. Jam mulai dan jam selesai shift sama sekali tidak disentuh.
- Create Overtime Slip For Eligible Employee(s) dicentang di Payroll Settings.
Langkah penyiapan kedua menonaktifkan komponen earnings lama Lembur, Lembur HR dan Lembur Rutin, yang mengacu pada angka salary slip yang tidak pernah ada. Komponen itu dinonaktifkan, bukan dihapus, dan setiap Salary Structure yang masih menyebut salah satunya akan dicetak selama penyiapan berjalan, untuk Anda periksa manual. Periksalah struktur gaji Anda.
Setelah itu, lengkapi bagian yang tidak bisa dikerjakan oleh penyiapan otomatis mana pun: isi Overtime Request Approver pada tiap Employee, atau isi tabelnya pada tiap Department.
Checklist penyiapan
- Satu Salary Component bertipe Earning untuk lembur, dengan pengaturan pajak dan payment days-nya sudah ditentukan.
- Minimal satu Overtime Type yang sudah memiliki metode tarif, skema pengali, dan aturan penghitungan.
- Overtime Request Approver terisi pada setiap Employee, atau tabel setaranya pada Department mereka.
- Shift Type dengan Allow Overtime tercentang, sebuah Overtime Type terpilih, dan auto attendance berjalan.
- Mark Auto Attendance on Holidays tercentang, bila Anda membayar lembur hari libur.
- Holiday List yang akurat, termasuk hari libur mingguan.
- Salary Structure Assignment yang sudah disubmit untuk setiap karyawan yang akan menerima slip.
- Create Overtime Slip For Eligible Employee(s) tercentang di Payroll Settings, agar prosesnya bisa dijalankan dari Payroll Entry.
- Minimal satu orang memegang role HR User atau Leave Approver, karena System Manager tidak dapat membatalkan slip.
Yang Anda kerjakan setiap bulan
Inilah jawaban atas pertanyaan yang pertama kali ditanyakan semua orang: Overtime Request boleh dibuat sebelum maupun sesudah absensi diunggah, tetapi Overtime Slip harus dibuat setelah keduanya ada.
Slip tidak membaca lembur dari Attendance. Slip berangkat dari Overtime Request yang sudah disetujui, lalu untuk setiap tanggal yang tercakup ia mencari Attendance yang sudah disubmit dengan status Present. Jam yang dibayar adalah bagian dari waktu kerja yang berada di luar jendela shift sekaligus di dalam jendela request yang disetujui.
- Overtime Request (SPL) untuk setiap lembur, disubmit dengan status Approved. Inilah surat perintahnya, dan inilah yang menggerakkan slip. Sebaiknya dibuat sebelum pekerjaan dimulai bila memungkinkan — memang itu fungsi SPL — tetapi request yang dibuat belakangan tetap dihitung, asalkan sudah ada sebelum langkah 3. Lihat Mengajukan dan menyetujui satu permintaan lembur (SPL).
- Attendance untuk tanggal-tanggal tersebut: sudah disubmit, berstatus Present, lengkap dengan jam masuk dan jam keluar. Unggah atau hasilkan seperti biasa — dari check-in dengan auto attendance, lewat Employee Attendance Tool, atau melalui impor. Urutannya terhadap langkah 1 tidak menjadi soal.
- Overtime Slip, setelah langkah 1 dan 2 sama-sama tersedia. Proses fetch menarik satu baris untuk setiap tanggal yang punya request disetujui dan Attendance Present yang sudah disubmit. Lihat Membuat dan men-submit Overtime Slip.
- Submit slip tersebut. Slip akan membuat satu Additional Salary tersubmit per salary component.
- Jalankan penggajian. Salary Slip mengambil earnings dari Additional Salary yang payroll date-nya jatuh di dalam periodenya, dan lembur muncul sebagai baris earnings tersendiri. Lihat Menjalankan lembur di dalam proses penggajian.
Mengajukan dan menyetujui satu permintaan lembur (SPL)
Overtime Request adalah SPL, surat perintah lembur. Karyawan atau HR yang mengajukannya, approver (pemberi persetujuan) yang ditunjuk men-submit-nya dengan status Approved, dan barulah setelah itu jam-jam tersebut boleh dibayar. Satu request mencakup satu karyawan, satu tanggal, satu rentang waktu, satu Overtime Type, dan satu approver.
- Di
/app/overtime-request, isi Employee. Company, Department dan Approver akan terisi dari catatan karyawan. - Isi Overtime Date, Overtime Type, From Time dan To Time. Jaga rentangnya tidak melebihi 12 jam, dan mulailah pada tanggal lembur atau tepat setelah tengah malam.
- Simpan. Setiap kali Anda menyimpan, GARP membagikan dokumen itu kepada approver berikut izin untuk
men-submit-nya, dan memberi tahu Anda:
Shared document with the user {0} with 'Submit' permission. Begitulah caranya seorang atasan langsung yang tidak memegang role HR mana pun tetap bisa menyetujui. Ganti approver-nya, maka share yang lama dicabut. - Approver mengubah Status menjadi
Approved(atauRejected) lalu men-submit. Dokumen berstatus Draft tidak bisa disubmit.
Karyawan boleh mengajukan request, tetapi tidak pernah boleh menyetujui permintaannya sendiri.
Daftar approver yang diterima lebih ketat daripada isi dropdown-nya. Field Approver menawarkan
Overtime Request Approver milik karyawan yang bersangkutan ditambah siapa pun yang terdaftar pada
tabel Overtime Request Approver di Department karyawan tersebut atau di salah satu department
induknya. Pemeriksaan yang berjalan saat Anda menyimpan hanya melihat Department karyawan itu sendiri.
Jadi approver yang diwarisi dari department induk tetap ditawarkan oleh dropdown, lalu ditolak saat
disimpan dengan pesan Only Approvers can Approve this Request. Isi approver-nya pada karyawan itu
sendiri, atau pada Department-nya sendiri, agar hal ini tidak terjadi.
Kedua field Overtime Request Approver adalah field tambahan yang dipasang pada Employee dan Department oleh penyiapan lembur Indonesia, dan letaknya persis setelah Shift Request Approver.

Sebuah Overtime Request. Jam mulai dan jam selesainya adalah jendela yang mengesahkan lembur; hanya waktu kerja di dalam jendela itu yang dibayar.
Membuat dan men-submit Overtime Slip
Satu slip mencakup satu karyawan untuk satu periode penggajian.
- Di
/app/overtime-slip, buat slip lalu isi Employee, Posting Date dan Company. - Start Date dan End Date terisi sendiri dari frekuensi penggajian pada Salary Structure yang ditetapkan untuk karyawan tersebut pada posting date.
- Klik Fetch Overtime Details. Baca dulu pesan oranye berisi tanggal-tanggal yang dilewati sebelum melangkah lebih jauh.
- Tambahkan atau perbaiki baris secara manual, lalu simpan.
- Submit.
Kesalahan yang harus dihindari adalah membuat slip terlalu cepat. Tanggal yang sudah punya request disetujui tetapi Attendance-nya belum disubmit akan dilewati tanpa pemberitahuan — itu bukan error, barisnya hanya tidak muncul. Jika ada hari yang hilang dari sebuah slip, periksa apakah Attendance hari itu sudah disubmit dan berstatus Present, lalu lakukan fetch ulang. Fetch mengosongkan tabel dan menyusunnya kembali, jadi tambahkan baris manual sesudah fetch, jangan sebelumnya.

Ujung rantainya: Overtime Slip dengan satu baris per tanggal yang disetujui, masing-masing tertaut ke Attendance yang menjadi dasar perhitungannya.
Apa yang terjadi saat Anda submit
Proses submit mengelompokkan setiap baris berdasarkan Overtime Salary Component pada jenis lemburnya, menghitung nilai tiap baris, lalu menjumlahkan nominalnya per komponen. Untuk setiap komponen yang totalnya positif, sistem membuat sekaligus men-submit satu Additional Salary:
- Amount dibulatkan ke presisi mata uang yang disetel di System Settings
- Payroll Date diisi dengan End Date slip
- Overwrite Salary Structure Amount dipaksa menjadi
0, sehingga lembur menambah struktur gaji, bukan menggantikan salah satu barisnya - Reference Document Type dan Reference Document menunjuk kembali ke slip tersebut
Tidak ada lagi yang ditulis. Tidak ada jurnal, tidak ada email, tidak ada field yang diperbarui pada
Attendance maupun pada Overtime Request. Additional Salary menjalankan pemeriksaannya sendiri, sehingga
Salary Structure Assignment yang hilang akan muncul di sini sebagai
There is no Salary Structure assigned to {0}. First assign a Salary Structure.
Setiap Salary Slip kemudian mengambil earnings dari Additional Salary tersubmit yang payroll date-nya jatuh di dalam periodenya, sehingga lembur masuk sebagai baris earnings dengan nama tersendiri.

Submit slip akan membuat satu Additional Salary per salary component. Dokumen inilah yang sebenarnya dibaca oleh Salary Slip.
Kalau slip perlu dibatalkan
Membatalkan sebuah Overtime Slip akan membatalkan setiap Additional Salary tersubmit yang mereferensikannya. Slip yang sudah dibatalkan tidak bisa membayar dua kali. Batalkan slipnya sebelum Salary Slip dibuat, kalau tidak, baris earnings-nya akan tetap tinggal di slip gaji yang sudah terlanjur dibuat.
Tidak ada satu role pun yang bisa meng-amend Overtime Slip, dan System Manager tidak dapat membatalkannya — baca Siapa boleh melakukan apa pada Overtime Slip sebelum Anda merencanakan sebuah koreksi.
Menjalankan lembur di dalam proses penggajian
- Di Payroll Settings, pada bagian Other Settings, centang Create Overtime Slip For Eligible Employee(s).
- Buat sebuah Payroll Entry (
/app/payroll-entry) lalu klik Get Employees. - Create Overtime Slips menggantikan tombol Create Salary Slips yang biasa muncul. Tombol ini
membuat draf slip untuk karyawan yang punya Overtime Request disetujui pada periode tersebut dan
belum punya slip yang tumpang tindih, menautkannya ke entry itu, lalu mengambil detailnya. Di atas 30
karyawan, prosesnya berjalan di latar belakang, status entry menjadi
Queued, dan Anda diberi tahuOvertime Slip creation is queued. It may take a few minutes. Kegagalan mengubah status menjadiFaileddan menampilkan error tiap karyawan di bawah Overtime Slip Creation Failed. - Tombol itu kemudian berubah menjadi Submit Overtime Slips, yang men-submit setiap draf slip yang tertaut ke entry tersebut, dan lagi-lagi berjalan di latar belakang bila lebih dari 30.
- Create Salary Slips muncul kembali begitu tidak ada langkah lembur yang tertunda.
Tombol mana yang Anda lihat ditentukan saat formulir dimuat: adanya draf slip yang tertaut ke entry berarti Submit; jika tidak ada, adanya karyawan memenuhi syarat yang belum punya slip berarti Create; selain itu, tombol aksi utama yang biasa. Muat ulang Payroll Entry setelah job antrean selesai agar tombolnya berpindah.
Menambahkan baris lembur secara manual
Field lembur pada Attendance bersifat read-only, jadi Anda tidak bisa mengetikkan lembur pada catatan absensi. Lembur manual dimasukkan sebagai baris pada Overtime Slip, dengan Date, Overtime Type, Overtime Duration dan Standard Working Hours wajib diisi, sementara Reference Document dibiarkan kosong.
Baris manual diperiksa terhadap Maximum Overtime Hours Allowed Per Day dan ditolak dengan pesan
Overtime Duration for {0} is greater than Maximum Overtime Hours Allowed. Baris hasil fetch melewati
pemeriksaan itu karena sudah dipangkas sesuai batas tersebut sewaktu tabelnya dibangun.
Fetch Overtime Details mengosongkan tabel dan membangunnya ulang. Tambahkan baris manual setelah
fetch, jangan sebelumnya. Jika pada periode tersebut tidak ada request yang disetujui, fetch berhenti
dengan pesan No approved Overtime Requests found for employee {0} between {1} and {2} dan tabelnya
dibiarkan apa adanya.
Kenapa satu hari hilang dari slip
Tanggal yang punya request disetujui tetapi tidak menghasilkan baris tidak dianggap sebagai kesalahan dan
tidak menghentikan slip. GARP memberi tahu Anda lewat pesan oranye:
Overtime Requests skipped for date(s) {0}: no submitted Present attendance, checkin data or applicable shift found.
Bacalah pesan itu — itulah jam-jam yang tidak dibayar padahal ada orang yang menunggu bayarannya.
Telusuri penyebab-penyebab berikut:

Daftar Overtime Request. Saring berdasarkan karyawan dan tanggal untuk memastikan request untuk hari yang hilang itu memang ada, dan statusnya benar-benar Approved.
- Attendance-nya belum disubmit, atau tidak berstatus Present. Slip hanya mencocokkan Attendance yang sudah disubmit dengan status Present. Perbaiki catatan absensinya, lalu lakukan fetch ulang.
- Hari itu dibiarkan berstatus Half Day. Lihat peringatan di bawah.
- Hari itu hari libur mingguan atau hari libur nasional dan sama sekali tidak ada Attendance. Auto attendance melewatkan hari libur kecuali Mark Auto Attendance on Holidays dicentang pada Shift Type. Tanpa itu, tidak ada Attendance pada hari libur mingguan maupun hari libur nasional, sehingga Fetch Overtime Details justru akan melewatkan persis hari-hari yang menjadi sasaran pengali hari libur Anda. Penyiapan Indonesia mencentang kotak ini pada setiap shift yang auto attendance-nya memang sudah aktif.
- Hari itu hari kerja dan Attendance-nya tidak memuat shift. Proses fetch membuang setiap tanggal non-libur yang Attendance-nya tidak memuat shift, lalu menyebutnya di pesan tanggal yang dilewati, sehingga Shift Assignment yang rusak atau hilang diam-diam menghilangkan lemburnya. Hanya pada tanggal yang ada di Holiday List, shift yang hilang jatuh ke mode hari libur.
- Jam kerjanya jatuh di luar jendela yang disetujui. Apa pun yang dikerjakan di luar SPL tidak dibayar, dan pada hari kerja, apa pun yang berada di dalam jendela shift terhitung jam kerja biasa, bukan lembur.
- Jamnya tidak melewati ambang minimum, atau habis dibulatkan ke bawah oleh kelipatan pembulatan. Lihat Bagaimana jam terbayar dihitung.
- Pada periode itu memang tidak ada satu pun request yang disetujui, sehingga fetch berhenti dengan
pesan
No approved Overtime Requests found for employee {0} between {1} and {2}dan tidak ada apa pun yang ditarik.
Field lembur hanya ditulis ketika catatan absensi dibuat. Jika auto attendance justru memperbarui catatan Half Day yang sudah ada, blok lembur dilewati sepenuhnya. Slip pun melewatkan tanggal itu seutuhnya: slip hanya mencocokkan Attendance yang sudah disubmit dengan status Present, dan catatan yang dibiarkan Half Day tidak akan pernah ditemukan — tanggal tersebut muncul di pesan oranye berisi daftar tanggal yang dilewati dan tidak dibayar sepeser pun.
Laporan
Tidak ada laporan bawaan yang khusus untuk lembur. Gunakan laporan Monthly Attendance Sheet dan Shift Attendance, keduanya terdaftar di bawah Reports pada workspace Shift & Attendance, untuk mengaudit jam kerjanya; gunakan tampilan daftar Overtime Slip dan Overtime Request dalam mode report view untuk dokumennya sendiri; dan gunakan Salary Register untuk melihat kolom Upah Lembur setelah penggajian dijalankan. Overtime Slip muncul di bawah Payroll pada connections di dashboard Employee.
Lembur menurut ketentuan Indonesia: apa yang tersedia dan apa yang tidak
Kepmenaker 102/2004, yang dilanjutkan di bawah PP 35/2021, mengatur lembur pada hari kerja biasa sebesar 1.5x tarif per jam untuk jam pertama dan 2x untuk setiap jam berikutnya, dengan skala bertingkat tersendiri yang lebih curam pada hari istirahat mingguan dan hari libur nasional. Tarif per jamnya secara konvensional adalah 1/173 dari upah bulanan.
Yang disediakan GARP:
- Tarif per jam 1/173, dalam bentuk
Salary Component Based (Monthly Divisor)dengan pembagi default 173 dan dapat diubah. - Eskalasi 1.5x / 2x pada hari kerja, dalam bentuk skema pengali Tiered dengan First Tier Hours bernilai 1.
- Pasangan pengali hari libur tersendiri, dengan default 3x dan 4x.
- Kewajiban SPL — tanpa Overtime Request yang disetujui tidak ada lembur yang dibayar, dan rentang waktu pada request membatasi berapa yang bisa diklaim.
- Ambang minimum dan pembulatan setengah jam, keduanya dapat dikonfigurasi.
Yang tidak disediakan:
- Skala hari libur tiga tingkat. Tarif hari istirahat dalam PP 35/2021 berubah pada jam kedelapan dan
kesembilan. Skema Tiered hanya punya dua tingkat dan satu batas, yaitu First Tier Hours, yang
dipakai bersama oleh hari kerja dan hari libur. Anda bisa mendekati dua tingkat pertamanya dengan
Overtime Type kedua — misalnya
Lembur Hari Liburdengan First Tier Hours 8 dan pengali hari libur 2 dan 3 — lalu memilihnya pada Overtime Request untuk hari libur. Tarif 4x di tingkat keempat menjadi tidak terjangkau, dan First Tier Hours 8 akan keliru untuk hari kerja, itulah sebabnya jenis lembur ini harus dipisahkan. - Pembedaan apa pun antara hari libur mingguan dan hari libur nasional pada skema Tiered. Keduanya memakai pasangan pengali hari libur. Hanya skema Flat yang memisahkan keduanya, dan Flat tidak punya eskalasi jam pertama. Anda tidak bisa memiliki keduanya sekaligus dalam satu jenis lembur.
- Varian minggu enam hari kerja pada skala hari istirahat, maupun aturan hari kerja yang lebih pendek.
- Apa pun dalam bentuk modul regional Indonesia. Folder regional GARP,
hrms/regional/, hanya berisiindiadanunited_arab_emirates. Perilaku lembur Indonesia berada di formulir Overtime standar ditambah dua langkah penyiapan tadi, bukan di sebuah modul regional, sehingga berlaku untuk setiap perusahaan pada instalasi tersebut.
Tidak ada perlakuan PPh 21 bawaan yang khusus untuk lembur. Perilaku pajak komponen Upah Lembur adalah apa pun yang Anda tetapkan sendiri pada Salary Component-nya, dan dasar perhitungan BPJS tidak terpengaruh oleh apa pun yang dibahas di halaman ini. Periksa angka hasil penggajian pertama bersama penasihat penggajian Anda.
Detail, batasan dan kasus khusus
Semua yang ada mulai dari sini ke bawah adalah bahan rujukan. Anda tidak memerlukannya untuk menjalankan satu bulan yang normal — bukalah bagian ini ketika Anda sedang menyusun kartu tarif, menelusuri kenapa sebuah dokumen menolak disimpan, atau menjelaskan sebuah angka kepada orang lain.
Dokumen yang terlibat
- Overtime Request — SPL alias surat perintah lembur. Dapat disubmit, diberi nama dengan pola
HR-OTR-.YY.-.MM.-.#####, untuk satu karyawan, satu tanggal, satu rentang waktu, satu Overtime Type, dan satu approver. Hanya request yang sudah disubmit dengan status Approved yang diperhitungkan. - Overtime Type — kartu tarifnya: komponen gaji mana yang dipakai untuk membukukan pembayaran, bagaimana tarif per jam diturunkan, skema pengalinya, aturan penghitungan dan pembulatannya, serta batas maksimum per hari. Namanya Anda ketik sendiri.
- Overtime Salary Component — tabel di dalam Overtime Type yang memuat komponen earnings pembentuk tarif per jam. Hanya ada satu kolom: Salary Component.
- Attendance — menyediakan waktu kerja hari itu. Field Overtime Type, Standard Working Hours dan Actual Overtime Duration pada Attendance bersifat read-only dan hanya informatif; slip tidak membacanya.
- Overtime Details — tabel di dalam slip, satu baris untuk setiap tanggal: Reference Document, Date, Overtime Type, Overtime Duration, Standard Working Hours, Maximum Overtime Hours Allowed.
- Overtime Slip — dapat disubmit, diberi nama dengan pola
HR-OT-SLIP-.#####, dan mencakup satu rentang tanggal untuk satu karyawan. - Additional Salary — dibuat dan disubmit secara otomatis dari slip. Inilah yang sebenarnya dibaca oleh Salary Slip.
Bagaimana semuanya terhubung
Overtime Type (rate, multipliers, counting rules)
-> Overtime Request (employee + date + from/to time, submitted as Approved)
|
Shift Type (Allow Overtime + Overtime Type, Enable Auto Attendance)
-> Shift Assignment (Overtime Type, overridable per employee)
-> Employee Checkin (stamped with the shift's Overtime Type)
-> Attendance (Present, in/out times, linked check-ins)
|
+--> Overtime Slip: paid hours = worked time INTERSECT approved request window
-> Additional Salary (one per salary component, submitted)
-> Salary Slip earnings, inside a Payroll Entry
Urutannya penting. Salary Component dan Overtime Type sebelum Shift Type; Shift Type dan Shift Assignment sebelum check-in; check-in dan absensi sebelum Overtime Request berguna; request yang disetujui sebelum slip; slip sebelum Salary Slip.
Formulir Overtime Request: semua field-nya
| Field | Tipe | Catatan |
|---|---|---|
| Employee | Link, wajib | Tidak boleh berstatus Inactive |
| Employee Name, Department | diambil otomatis, read-only | Dari catatan Employee |
| Status | Select, wajib | Draft (default), Approved, Rejected |
| Company | Link, wajib | Diambil dari karyawan bila kosong |
| Approver | Link ke User, wajib | Diambil dari Overtime Request Approver milik karyawan bila kosong |
| Overtime Date | Date, wajib | Tanggal kerja yang menjadi induk lembur tersebut. Lembur yang melewati tengah malam tetap milik tanggal ini |
| Overtime Type | Link, wajib | Menentukan tarif dan aturan penghitungan untuk hari tersebut |
| From Time, To Time | Datetime, wajib | Rentang waktu yang diotorisasi, sampai ke satuan menit |
| Reason | Small Text | Teks bebas, tidak dipakai dalam perhitungan apa pun |
Apa yang ditolak oleh Overtime Request
GARP menolak menyimpan atau men-submit request tersebut, dan menampilkan salah satu pesan berikut:
| Pesan | Penyebab |
|---|---|
Transactions cannot be created for an Inactive Employee {0}. | Status karyawan Inactive |
To Time must be after From Time | Rentang waktunya nol atau terbalik |
From Time must fall on the Overtime Date or the following day | Rentang waktu boleh dimulai pada tanggal lembur atau tepat setelah tengah malam keesokan harinya, tidak boleh yang lain |
Overtime window cannot exceed 12 hours | Batas atas tetap untuk satu request |
Employee {0} already has Overtime Request {1} overlapping this time window | Judulnya: Overlapping Overtime Requests. Diperiksa terhadap setiap request milik karyawan itu yang belum dibatalkan dan tidak berstatus Rejected |
Only Approvers can Approve this Request. | Approver-nya tidak terdaftar pada Department karyawan itu sendiri |
Only Overtime Request with status 'Approved' and 'Rejected' can be submitted | Muncul saat submit ketika Status masih Draft |
Request berstatus Rejected tidak menghalangi pembuatan penggantinya untuk rentang waktu yang sama — pemeriksaan tumpang tindih mengabaikannya. Request yang sudah dibatalkan juga tidak menghalangi.
Siapa boleh melakukan apa pada Overtime Request
| Role | Create | Write | Submit | Cancel | Amend | Delete |
|---|---|---|---|---|---|---|
| Employee | ya | ya | tidak | tidak | tidak | tidak |
| HR User | ya | ya | ya | tidak | tidak | tidak |
| HR Manager | ya | ya | ya | ya | ya | ya |
Approver memperoleh hak submit atas dokumennya sendiri lewat share, bukan lewat role. Karyawan boleh mengajukan, tetapi tidak pernah boleh menyetujui permintaannya sendiri.
Apa yang diatur oleh Overtime Type
| Field | Default | Fungsinya |
|---|---|---|
| Overtime Salary Component | — | Wajib. Salary Component tempat pembayaran lembur dibukukan. Jadikan bertipe Earning, kalau tidak nominalnya justru mendarat di sisi potongan |
| Maximum Overtime Hours Allowed Per Day | kosong | Kosong atau nol berarti tanpa batas. Memangkas baris hasil fetch, menolak baris manual |
| Overtime Amount Calculation | Salary Component Based | Salah satu dari tiga jalur menuju tarif per jam, lihat di bawah |
| Applicable Salary Components | — | Wajib untuk kedua metode berbasis komponen. Earnings yang dijumlahkan untuk membentuk tarif |
| Hourly Rate | — | Wajib dan hanya terlihat pada Fixed Hourly Rate |
| Monthly Hours Divisor | 173 | Wajib dan hanya terlihat pada Salary Component Based (Monthly Divisor) |
| Multiplier Scheme | Flat | Flat atau Tiered (First Hour / Subsequent) |
| Standard Multiplier | 1 | Wajib, disembunyikan pada skema Tiered |
| Apply for Weekend / Weekend Multiplier | tidak aktif | Hanya untuk skema Flat. Berlaku pada tanggal Holiday List yang ditandai sebagai hari libur mingguan |
| Apply for Public Holiday / Public Holiday Multiplier | tidak aktif | Hanya untuk skema Flat. Berlaku pada tanggal Holiday List yang tidak ditandai sebagai hari libur mingguan |
| First Hour Multiplier (Workday) | 1.5 | Hanya untuk skema Tiered |
| Subsequent Hours Multiplier (Workday) | 2 | Hanya untuk skema Tiered |
| First Hour Multiplier (Holiday / Weekly Off) | 3 | Hanya untuk skema Tiered. Mencakup hari libur nasional maupun hari libur mingguan |
| Subsequent Hours Multiplier (Holiday / Weekly Off) | 4 | Hanya untuk skema Tiered |
| Minimum Overtime Threshold (Hours) | 1 | Hanya pada hari kerja. Durasi harus melebihi nilai ini |
| Threshold Basis | Daily Total | Atau Per Segment |
| First Tier Hours | 1 | Berperan ganda: rentang yang dibayar dengan pengali jam pertama, sekaligus blok yang diberikan utuh sebelum pembulatan dimulai |
| Rounding Increment (Hours) | 0.5 | Waktu di atas tier pertama dibulatkan ke bawah ke kelipatan angka ini. Nol menonaktifkan pembulatan |
Tiga metode tarif
- Salary Component Based (default pada Overtime Type yang baru dibuat). Saat Anda men-submit slip,
GARP menyusun pratinjau salary slip dari Salary Structure yang ditetapkan untuk karyawan tersebut pada
Start Date slip, menjumlahkan komponen yang Anda pilih di dalamnya sambil mengabaikan apa pun yang
berasal dari Additional Salary, membaginya dengan payment days (hari pembayaran) pratinjau itu —
dengan batas bawah 1 — lalu membaginya lagi dengan Standard Working Hours pada baris bersangkutan.
Payment days mengikuti Calculate Payroll Working Days Based On dan Include holidays in Total no.
of Working Days di Payroll Settings (
/app/payroll-settings). - Salary Component Based (Monthly Divisor). Jumlah komponen yang sama, tetapi dibagi dengan Monthly Hours Divisor — 173 secara default, sesuai konvensi Indonesia. Payment days dan Standard Working Hours diabaikan sepenuhnya, sehingga tarifnya stabil dari bulan ke bulan. Inilah yang dipasang oleh penyiapan Indonesia.
- Fixed Hourly Rate. Satu nominal mata uang yang diketik langsung pada jenis lemburnya, sama untuk semua orang yang memakainya.
Pratinjau salary slip tetap dibentuk juga pada metode Monthly Divisor, sehingga karyawan yang tidak punya Salary Structure Assignment yang sudah disubmit tidak dapat dihitung tarifnya pada kedua metode berbasis komponen.
Dua skema pengali
Flat menghitung satu baris sebagai durasi dikali tarif per jam dikali tepat satu pengali, yang dipilih berdasarkan Holiday List karyawan: hari libur mingguan memakai Weekend Multiplier bila Apply for Weekend dicentang, tanggal terdaftar yang bukan hari libur mingguan memakai Public Holiday Multiplier bila Apply for Public Holiday dicentang, dan selebihnya memakai Standard Multiplier. Biarkan kotaknya tidak tercentang, maka hari itu kembali memakai standard multiplier.
Tiered memecah barisnya. Jam sampai sebesar First Tier Hours memakai pengali jam pertama, sisanya memakai pengali jam berikutnya. Pada setiap tanggal yang ada di Holiday List — hari libur mingguan maupun hari libur nasional, tanpa dibedakan — yang berlaku adalah pasangan pengali hari libur. Di bawah skema Tiered, Apply for Weekend, Apply for Public Holiday, Weekend Multiplier, Public Holiday Multiplier dan Standard Multiplier semuanya diabaikan.
Apa yang ditolak oleh Overtime Type
GARP menolak menyimpan jenis lembur tersebut, dan menampilkan salah satu pesan berikut:
Select Applicable Components for Overtime Type— metode berbasis komponen dengan tabel Applicable Salary Components yang kosong.Monthly Hours Divisor must be greater than 0— metode Monthly Divisor dengan pembagi kosong atau nol.First Hour Multiplier (Workday) must be greater than 0 for the Tiered multiplier scheme, dan pesan serupa untuk tiga pengali bertingkat lainnya — bila salah satunya kosong atau nol pada skema Tiered.
Setiap pengali, ambang, ukuran tier, kelipatan pembulatan dan batas harian ditandai tidak boleh negatif, sehingga angka negatif ditolak oleh field-nya sendiri.
Siapa boleh melakukan apa pada Overtime Type
System Manager memiliki hak penuh. HR Manager dapat create, read, write dan delete. HR User
hanya bisa memilih sebuah jenis lembur pada field link — tidak cukup untuk membuka /app/overtime-type
atau membaca kartu tarifnya. Jika staf penggajian Anda perlu memeriksa pengalinya, berikan role HR
Manager atau tambahkan role permission.
Formulir Overtime Slip: semua field-nya
| Field | Catatan |
|---|---|
| Posting Date | Wajib, default hari ini. Menentukan Salary Structure Assignment mana yang dicari |
| Employee, Company | Wajib. Company diambil dari karyawan |
| Employee Name, Department | Diambil dari karyawan |
| Start Date, End Date | Wajib. Terisi otomatis dari frekuensi penggajian pada Salary Structure yang ditetapkan |
| Total Overtime Duration | Read-only. Dihitung ulang hanya oleh proses fetch, tidak pernah oleh pengeditan manual |
| Salary Slip | Read-only. Tidak pernah ada yang mengisinya |
| Payroll Entry | Read-only, hanya ditampilkan bila slip berasal dari sebuah Payroll Entry |
| Overtime Details | Wajib. Tabel di dalam formulirnya, satu baris untuk setiap tanggal |
Apa yang ditolak oleh Overtime Slip
GARP menolak menyimpan, mengambil data, atau men-submit, dan menampilkan salah satu pesan berikut:
| Pesan | Penyebab |
|---|---|
Salary Structure not assigned for employee {0} for date {1} | Tidak ada Salary Structure Assignment yang sudah disubmit pada posting date, sehingga tidak ada frekuensi penggajian dan tidak ada periode |
Start date cannot be greater than end date | Tanggalnya terbalik |
Overtime Slip:{0} has been created between {1} and {2} | Ada slip yang belum dibatalkan untuk karyawan tersebut dan periodenya tumpang tindih |
Date {0} is repeated in Overtime Details | Tanggal yang sama muncul dua kali dalam satu slip |
Overtime Duration for {0} is greater than Maximum Overtime Hours Allowed | Baris yang diketik manual melebihi batas harian pada jenis lemburnya |
No approved Overtime Requests found for employee {0} between {1} and {2} | Ditampilkan oleh Fetch Overtime Details |
Overtime Requests for {0} use different Overtime Types; use one type per day | Dua request yang disetujui pada satu tanggal menunjuk ke jenis lembur yang berbeda |
Please fill in Employee, Posting Date, and Company before fetching overtime details. | Ditampilkan di browser sebelum fetch berjalan, dengan judul Missing Fields |
Tanggal yang punya request disetujui tetapi tidak punya absensi yang dapat dipakai bukanlah kesalahan fatal — tanggal itu kembali sebagai pesan oranye. Lihat Kenapa satu hari hilang dari slip.
Siapa boleh melakukan apa pada Overtime Slip
| Role | Create | Write | Submit | Cancel | Delete |
|---|---|---|---|---|---|
| Employee | ya | ya | tidak | tidak | tidak |
| HR User | ya | ya | ya | ya | ya |
| Leave Approver | ya | ya | ya | ya | ya |
| System Manager | ya | ya | ya | tidak | ya |
Tidak ada satu role pun yang secara bawaan memiliki izin amend pada Overtime Slip, dan System Manager
tidak dapat membatalkannya. Field Amended From memang ada, tetapi tidak terjangkau sampai seseorang
menambahkan izin amend (dan, untuk System Manager, cancel) lewat Role Permissions Manager. Rencanakan
untuk membatalkan lalu membuat ulang, bukan meng-amend, dan pastikan setidaknya satu orang memegang role
HR User atau Leave Approver.
Tidak ada workflow persetujuan bawaan, jadi tindakan submit itulah persetujuannya. Tambahkan Workflow jika Anda membutuhkan tanda tangan kedua.
Bagaimana jam lembur ditangkap
Pada Shift Type (/app/shift-type), centang Allow Overtime dan pilih sebuah Overtime Type, yang
menjadi wajib diisi begitu kotaknya dicentang. Enable Auto Attendance juga harus aktif. Setiap Shift
Assignment (/app/shift-assignment) akan mengambil jenis lembur itu, dan Anda dapat menimpanya di sana
per karyawan atau per periode. Absen yang jatuh di dalam rentang waktu shift akan ditandai dengan jenis
tersebut pada Employee Checkin.
Ketika auto attendance membentuk catatan hari itu dan statusnya Present, GARP menuliskan tiga field read-only pada Attendance yang baru dibuat: Overtime Type, Standard Working Hours dan Actual Overtime Duration. Bagian Overtime pada Attendance baru muncul jika Overtime Type terisi.
Standard Working Hours dihitung dari End Time shift dikurangi Start Time-nya, dibulatkan ke dua angka
desimal. Shift yang melewati tengah malam sudah ditangani, tetapi waktu istirahat tidak dikurangkan —
shift 08:00 sampai 17:00 dihitung sembilan jam standar, bukan delapan. Actual Overtime Duration
dihitung berbasis batas shift: menit sebelum shift dimulai ditambah menit setelah shift berakhir,
sehingga keterlambatan datang tidak bisa menciptakan lembur. Hanya ketika jam masuk atau jam keluar tidak
tersedia, perhitungan ini beralih ke jam kerja dikurangi jam standar.
Actual Overtime Duration hanya bersifat informatif. Overtime Slip tidak pernah membacanya. Jam yang dibayar dihitung ulang dari awal pada slip, diadu dengan rentang waktu request yang disetujui. Perlakukan angka pada Attendance sebagai pemeriksaan kewajaran ketika ada yang mempersoalkan sebuah slip, bukan sebagai angka yang dibayarkan.
Bagaimana jam terbayar dihitung
Untuk setiap tanggal yang memiliki request yang disetujui, slip melakukan hal berikut:
- Mencari satu Attendance berstatus Present yang sudah disubmit untuk karyawan dan tanggal tersebut. Tidak ada Attendance, tidak ada baris.
- Menyusun ulang interval kerja dari Employee Checkin yang tertaut ke Attendance itu, mengikuti pengaturan Determine Check-in and Check-out dan Working Hours Calculation Based On pada shift. Jika tidak ada check-in yang dapat dipakai, sistem beralih ke jam masuk dan jam keluar pada Attendance sebagai satu interval tunggal.
- Menentukan mode hari libur. Tanggal yang ada di Holiday List karyawan — baik hari libur mingguan maupun hari libur nasional — termasuk mode hari libur. Tanggal Holiday List yang Attendance-nya tidak memuat shift juga masuk mode hari libur; sebaliknya, hari kerja yang Attendance-nya tidak memuat shift langsung dilewati dan tidak dibayar sama sekali.
- Pada hari kerja, hanya bagian interval kerja yang berada di luar rentang shift yang dipertahankan. Dalam mode hari libur, seluruh waktu kerja dipertahankan.
- Mengiriskan hasilnya dengan rentang waktu request yang disetujui. Apa pun di luar SPL tidak dibayar.
- Menerapkan ambang minimum dan pembulatan dari Overtime Type.
- Membatasi dengan Maximum Overtime Hours Allowed Per Day bila nilainya di atas nol.
Langkah 6 perlu dijabarkan. Jam mentah harus melebihi ambang tersebut, bukan sekadar menyamainya: dengan ambang satu jam, tepat 1.00 jam tidak dibayar apa-apa, sedangkan 1.01 jam dibayar. Begitu ambang terlampaui, tier pertama diberikan utuh dan hanya sisanya yang dibulatkan ke bawah ke kelipatan pembulatan. Mode hari libur memakai ambang nol, sehingga panggilan kerja singkat di hari libur langsung dibulatkan ke bawah.
| Jam mentah | Threshold 1, first tier 1, increment 0.5 | Mode hari libur (threshold 0) |
|---|---|---|
| 0.30 | 0.0 | 0.0 |
| 0.70 | 0.0 | 0.5 |
| 0.99 | 0.0 | 0.5 |
| 1.00 | 0.0 | 1.0 |
| 1.01 | 1.0 | 1.0 |
| 1.49 | 1.0 | 1.0 |
| 1.50 | 1.5 | 1.5 |
| 2.70 | 2.5 | 2.5 |
Threshold Basis menentukan ambang itu diuji sekali atau dua kali. Pada Daily Total, seluruh durasi
yang memenuhi syarat pada hari itu diuji sebagai satu kesatuan. Pada Per Segment, bagian pagi (interval
yang berakhir pada atau sebelum jam mulai shift) dan bagian sore diuji serta dibulatkan sendiri-sendiri,
lalu dijumlahkan — dan hasilnya biasanya lebih kecil, karena potongan pagi yang pendek dibuang begitu
saja alih-alih ditutup oleh bagian sore. Mode hari libur mengabaikan pengaturan ini.
Contoh perhitungan
PT Maju Jaya memakai jenis Lembur GARP bawaan: Monthly Divisor 173, Tiered 1.5 / 2 pada hari kerja dan 3 / 4 pada hari libur, ambang 1 jam dengan basis Daily Total, tier pertama 1 jam, pembulatan 0.5, tanpa batas. Applicable components-nya Gaji Pokok dan Masa Kerja.
Sari Dewi, Selasa yang panjang
Gaji Pokok IDR 6,000,000 ditambah Masa Kerja IDR 500,000. Shift 08:00–17:00. Ia absen masuk pukul
07:55 dan keluar pukul 20:10. SPL-nya disetujui untuk 17:00–21:00.
Hourly rate 6,500,000 / 173 = 37,572.25
Outside shift 07:55-08:00 and 17:00-20:10 = 0h05m + 3h10m
Inside the SPL 17:00-20:10 only = 3.1667h (the 5 minutes fall outside the SPL)
Threshold 3.1667 exceeds 1 -> qualifies
Rounding 1.0 + floor(2.1667 / 0.5) x 0.5 = 1.0 + 2.0 = 3.0h paid
Amount 37,572.25 x (1 x 1.5 + 2 x 2.0) = 37,572.25 x 5.5 = IDR 206,647.40
Seorang staf penggajian Indonesia yang menghitung 3 jam 10 menit tanpa pembulatan akan mencatat
37,572.25 x (1.5 + 2.1667 x 2) = IDR 219,171.48. GARP membayar 206,647.40, karena pembulatan
ke bawah per setengah jam membuang sepuluh menit terakhir. Itu adalah pilihan kebijakan pada Overtime
Type, bukan bug: setel Rounding Increment ke 0 dan Anda mendapatkan angka tanpa pembulatan.
Budi Santoso, sebuah hari libur nasional
Gaji Pokok IDR 4,500,000, tanpa Masa Kerja. Shift 08:00–17:00 yang sama, tetapi tanggalnya tercatat
di Holiday List-nya sebagai Tanggal Merah. Ia bekerja 08:30–11:10 dan SPL-nya mencakup
08:00–12:00.
Hourly rate 4,500,000 / 173 = 26,011.56
Holiday mode all worked time counts = 2h40m = 2.6667h
Threshold none on a holiday
Rounding 1.0 + floor(1.6667 / 0.5) x 0.5 = 1.0 + 1.5 = 2.5h paid
Amount 26,011.56 x (1 x 3 + 1.5 x 4) = 26,011.56 x 9 = IDR 234,104.05
Perhatikan apa yang berubah karena mode hari libur: ia bekerja sepenuhnya di dalam rentang shift dan tidak akan memperoleh apa pun jika itu hari kerja. Baris ini hanya ada karena Mark Auto Attendance on Holidays dicentang sehingga sebuah Attendance terbentuk.
Skala hari istirahat dalam PP 35/2021 berjalan pada 2x untuk tujuh atau delapan jam pertama sebelum naik lebih tinggi. Pasangan 3 / 4 bawaan justru membayar lebih besar sejak jam pertama. Jika Anda menginginkan bentuk yang sesuai peraturan, lihat Lembur menurut ketentuan Indonesia.
Rina Halim, Daily Total dibanding Per Segment
Gaji Pokok IDR 8,000,000. Shift 08:00–16:30. Ia bekerja 07:15–18:06 dengan SPL yang mencakup
07:00–20:00, sehingga kedua potongan waktunya terotorisasi: 45 menit di pagi hari dan 1 jam 36 menit
di sore hari.
Hourly rate 8,000,000 / 173 = 46,242.77
Daily Total 0.75 + 1.60 = 2.35h -> 1.0 + floor(1.35 / 0.5) x 0.5 = 2.0h
46,242.77 x (1 x 1.5 + 1.0 x 2.0) = x 3.5 = IDR 161,849.71
Per Segment morning 0.75 does not exceed 1 -> 0h
evening 1.60 -> 1.0 + floor(0.60 / 0.5) x 0.5 = 1.5h
46,242.77 x (1 x 1.5 + 0.5 x 2.0) = x 2.5 = IDR 115,606.94
Satu dropdown, selisih IDR 46,242.77 hanya dalam satu hari. Per Segment adalah pembacaan yang lebih
ketat, dan itu bukan pilihan default.
Berapa harga pilihan metode tarif Anda
3.0 jam terbayar milik Sari Dewi, pengali yang sama, tiga metode tarif:
| Metode | Tarif per jam | Nominal |
|---|---|---|
| Monthly Divisor, 173 | 6,500,000 / 173 = 37,572.25 | IDR 206,647.40 |
| Salary Component Based, 31 payment days, 9 jam standar | 6,500,000 / 31 / 9 = 23,297.49 | IDR 128,136.20 |
| Salary Component Based, 28 payment days, 9 jam standar | 6,500,000 / 28 / 9 = 25,793.65 | IDR 141,865.08 |
Metode berbasis komponen menghasilkan angka sekitar sepertiga lebih rendah dari tarif 1/173, dan
tarifnya bergerak setiap bulan karena payment days ikut bergerak. Metode itu juga membagi dengan rentang
shift, yang di dalamnya termasuk istirahat makan siang yang tidak dibayar. Gunakan Salary Component Based (Monthly Divisor) untuk penggajian Indonesia.
Kasus khusus dan hal yang mudah terlewat
- First Tier Hours mengerjakan dua tugas. Ia adalah batas penghitungan tarif sekaligus blok yang diberikan utuh sebelum pembulatan mulai bekerja. Mengubahnya untuk satu tujuan berarti mengubahnya untuk tujuan yang lain juga.
- Standard Multiplier tetap wajib diisi meski disembunyikan pada skema Tiered. Nilai default-nya 1 menjaga proses simpan tetap berjalan; jangan dikosongkan.
- Standard Working Hours bisa saja tertulis nol. Ketika proses fetch tidak dapat menentukan shift-nya,
nilai yang dicatat adalah 0. Pada
Salary Component Basedangka itu adalah pembaginya, sehingga slip gagal saat disubmit. Kedua metode berbasis komponen tidak membutuhkannya jika Anda memakai Monthly Divisor, yang mengabaikan field tersebut. - Tumpang tindih hanya diperiksa pada From Time / To Time, tidak pernah pada Overtime Date. Dua request pada tanggal yang sama tidak masalah selama rentang waktunya tidak beririsan, dan keduanya kemudian digabung menjadi satu baris — sepanjang keduanya menyebut Overtime Type yang sama.
- Satu baris per tanggal, satu slip per periode. Satu tanggal tidak boleh berulang dalam satu slip dan slip tidak boleh tumpang tindih untuk satu karyawan, sehingga satu hari tidak dapat dipecah ke dua tarif berbeda.
- Fetch Overtime Details menyimpan dokumennya. Proses itu menulis ulang tabelnya, menghitung ulang Total Overtime Duration, lalu menyimpan — membuang pengeditan manual yang belum disimpan.
- Field Salary Slip pada Overtime Slip tidak pernah terisi. Telusuri pembayarannya lewat Connections pada slip menuju Additional Salary.
- Jam masuk dan keluar pada Attendance adalah cadangan, bukan sumber utama. Absensi manual tanpa check-in tetap menghasilkan satu interval kerja, sehingga hari yang ditandai manual pun bisa dibayar — asalkan ada request disetujui yang mencakupnya.
Apa yang berjalan otomatis di latar belakang
Tidak ada satu pun proses terjadwal yang membuat, menyetujui, atau men-submit dokumen lembur. Dua job berjalan setiap jam untuk menyiapkan bahan bakunya:
- Yang pertama memajukan penanda pada tiap Shift Type mengenai sampai di mana check-in sudah dibaca.
- Yang kedua membentuk Attendance dari check-in untuk setiap shift yang Enable Auto Attendance-nya aktif, dan menuliskan field lembur yang bersifat informatif pada catatan Present yang baru dibuat.
Satu-satunya proses latar belakang lainnya adalah antrean milik Payroll Entry sendiri: pembuatan dan submit slip lembur diantrekan begitu melibatkan lebih dari 30 karyawan atau slip.