Cara Membuat Aplikasi Manajemen Cuti HR: Pengajuan, Persetujuan, dan Saldo
Aplikasi manajemen cuti menggantikan spreadsheet dan rantai email di balik pertanyaan "bolehkah saya libur hari Jumat?". Karyawan mengajukan cuti dan melihat sisa saldo mereka; manajer menyetujui atau menolak sambil melihat kalender tim; HR mengatur jenis cuti, jatah, dan hari libur nasional, serta mendapatkan catatan yang rapi untuk penggajian. Untuk membangunnya, Anda memerlukan model data di mana saldo dihitung dari riwayat pengajuan dan penyesuaian, rantai persetujuan yang jelas, serta aturan untuk setengah hari, akhir pekan, dan hari libur. Pembuat aplikasi AI dapat menghasilkan versi yang berfungsi dengan cepat. Ketelitian diperlukan pada perhitungan saldo, izin untuk jenis cuti yang sensitif, dan kesesuaian dengan kebijakan Anda yang sebenarnya.
Yang dibutuhkan aplikasi
Data
| Tabel | Kolom utama |
|---|---|
| Karyawan | Nama, email, manajer, tim, lokasi, tanggal mulai, pola kerja (hari per minggu, jam per hari), aktif ya/tidak |
| Jenis cuti | Nama (tahunan, sakit, orang tua, tanpa gaji, lainnya), dibayar ya/tidak, perlu persetujuan ya/tidak, mengurangi jatah ya/tidak, sensitif ya/tidak |
| Jatah | Karyawan, jenis cuti, tahun, jumlah hari yang diberikan, dibawa ke tahun berikutnya |
| Pengajuan | Karyawan, jenis cuti, tanggal mulai, tanggal selesai, setengah hari di awal atau akhir, jumlah hari yang dihitung, alasan, status (menunggu, disetujui, ditolak, dibatalkan), pemberi persetujuan, waktu keputusan |
| Penyesuaian | Karyawan, jenis cuti, jumlah hari (+ atau −), alasan, dibuat oleh, tanggal |
| Hari libur nasional | Lokasi, tanggal, nama |
Aturan kuncinya: jangan pernah menyimpan saldo yang Anda edit dengan tangan. Saldo adalah jatah + pengalihan + penyesuaian − hari yang disetujui. Setiap perubahan memiliki catatan dengan alasan, sehingga ketika seseorang bertanya "kenapa saya masih punya 3,5 hari?", Anda bisa menunjukkannya.
Halaman
- Karyawan: saldo saya per jenis cuti, formulir pengajuan, pengajuan saya dengan statusnya, kalender tim saya.
- Manajer: pengajuan yang menunggu bersama kalender tim di sampingnya, setujui atau tolak dengan komentar, saldo tim.
- HR/admin: karyawan, jenis cuti, jatah, hari libur nasional, penyesuaian, serta laporan dan ekspor.
Izin akses
Ini adalah data pribadi, dan sebagiannya bersifat sensitif. Karyawan hanya melihat pengajuan mereka sendiri dan, di kalender tim, hanya bahwa rekan kerja sedang "tidak di kantor" — bukan alasannya. Manajer melihat bawahan langsung mereka. HR melihat semua orang. Cuti sakit dan jenis cuti sensitif lainnya hanya ditampilkan sebagai "tidak di kantor" bagi siapa pun selain karyawan yang bersangkutan, manajernya, dan HR. Terapkan ini di server; lihat kontrol akses berbasis peran. Aturan perlindungan data untuk catatan karyawan berbeda di setiap negara, jadi periksa aturan di negara Anda.
Keputusan dan pertukaran
Hari atau jam
Menghitung dalam hari (dengan setengah hari) adalah yang paling sederhana dan cocok untuk sebagian besar tim kantor. Menghitung dalam jam cocok untuk pekerja paruh waktu dan shift, tetapi membuat setiap perhitungan lebih kompleks. Pilih salah satu untuk versi pertama, berdasarkan cara kontrak Anda menyatakan jatah.
Jatah di muka atau akumulasi
Memberikan jatah tahunan penuh pada hari pertama tahun cuti adalah yang paling sederhana. Akumulasi, yaitu memperoleh sebagian setiap bulan, umum di beberapa negara dan untuk karyawan baru, dan memerlukan perhitungan bulanan. Pro-rata bagi orang yang bergabung atau keluar di tengah tahun tetap diperlukan dalam kedua kasus.
Hari mana yang dihitung
Pengajuan dari Kamis sampai Selasa seharusnya hanya menghitung hari kerja, tidak termasuk akhir pekan dan hari libur nasional untuk lokasi karyawan tersebut, serta mengikuti pola paruh waktu. Ini adalah perhitungan yang paling mungkin salah, jadi ujilah dengan contoh nyata.
Rantai persetujuan
Satu pemberi persetujuan (atasan langsung) mencakup sebagian besar perusahaan kecil. Tambahkan pemberi persetujuan cadangan untuk saat manajer sedang tidak ada, dan opsional satu langkah kedua untuk ketidakhadiran yang panjang. Tentukan apa yang terjadi pada pengajuan yang menunggu jika seorang manajer keluar.
Pengalihan dan akhir tahun
Tentukan tahun cuti Anda, berapa hari yang tidak terpakai boleh dialihkan, dan apakah hari yang dialihkan itu kedaluwarsa. Minta AI untuk menampilkan pengalihan sebagai baris tersendiri agar saldonya tetap bisa dijelaskan.
Prompt pertama yang berhasil
Buat aplikasi manajemen cuti internal untuk perusahaan dengan 45 karyawan dan kantor di Manchester (Inggris) dan Dublin (Irlandia). Jenis cuti: tahunan (25 hari, diberikan penuh di awal tahun, hingga 5 hari dapat dialihkan, kedaluwarsa 31 Maret), sakit (tanpa batas, tanpa persetujuan, hanya terlihat oleh orang lain sebagai "tidak di kantor"), tanpa gaji, dan lainnya. Tahun cuti berjalan dari Januari sampai Desember. Karyawan mengajukan cuti dengan tanggal mulai, tanggal selesai, dan setengah hari opsional, dan melihat berapa hari kerja yang akan terpakai — tidak termasuk akhir pekan, hari libur paruh waktu, dan hari libur nasional untuk kantor mereka. Saldo dihitung dari jatah, pengalihan, penyesuaian, dan pengajuan yang disetujui, tidak pernah diedit langsung. Manajer menyetujui atau menolak pengajuan bawahan langsung mereka dengan komentar, sambil melihat kalender tim pada saat yang sama. HR mengelola karyawan, jenis cuti, jatah, hari libur nasional, dan penyesuaian dengan alasan, serta mengekspor cuti yang disetujui per bulan sebagai CSV untuk penggajian. Peran: karyawan, manajer, HR. Simpan semuanya di database. Antarmuka yang sederhana dan cepat.
Langkah membangun
- Mulai dari kebijakan tertulis Anda. Jika belum tertulis, tuliskan dulu — aplikasi hanya bisa menerapkan aturan yang bisa Anda nyatakan.
- Impor karyawan dengan manajer, lokasi, dan pola kerja, biasanya dari spreadsheet. Lihat mengubah spreadsheet menjadi aplikasi.
- Jenis cuti, jatah, dan hari libur nasional.
- Formulir pengajuan dengan perhitungan hari kerja, diuji dengan minimal sepuluh kasus nyata: melewati akhir pekan, hari libur nasional, pekerja paruh waktu, setengah hari, pergantian tahun.
- Alur persetujuan dan kalender tim.
- Login dan peran, dengan jenis cuti sensitif yang disembunyikan dari rekan kerja.
- Notifikasi: email ke manajer saat ada pengajuan baru dan ke karyawan saat ada keputusan, lewat penyedia email Anda sendiri. Lihat cara mengirim email dari aplikasi Anda.
- Laporan dan ekspor untuk penggajian.
- Jalankan paralel dengan spreadsheet selama satu bulan, bandingkan saldo, lalu beralih.
Kesalahan umum
- Menyimpan angka saldo dan mengeditnya. Anda kehilangan riwayat dan setiap sengketa menjadi tebak-tebakan.
- Menghitung hari kalender alih-alih hari kerja, atau mengabaikan kantor karyawan untuk hari libur nasional.
- Menampilkan kepada semua orang mengapa rekan kerja sedang tidak di kantor. "Tidak di kantor" sudah cukup di kalender bersama.
- Tidak ada pemberi persetujuan cadangan. Pengajuan menumpuk selama dua minggu karena manajer sedang libur.
- Membiarkan orang membatalkan cuti yang sudah disetujui tanpa sepengetahuan manajer. Pembatalan harus memberi tahu pemberi persetujuan.
- Mengunci aturan tahun ini ke dalam kode. Simpan jatah dan hari libur sebagai data yang bisa diedit HR tahun depan.
Kapan produk siap pakai lebih baik
Jika Anda ingin cuti terhubung dengan penggajian, kontrak, penilaian kinerja, dan laporan kepatuhan — atau Anda mempekerjakan orang di banyak negara — perangkat lunak HR yang sudah mencakup manajemen cuti biasanya layak dipertimbangkan. Produk-produk itu memelihara kalender libur dan aturan hukum per negara, pekerjaan berkelanjutan yang kalau tidak harus Anda kerjakan sendiri.
Aplikasi buatan sendiri masuk akal untuk perusahaan kecil dan menengah dengan kebijakan sederhana yang hanya ingin meninggalkan spreadsheet, untuk pengaturan yang tidak biasa (kru shift, jadwal bergilir, cuti yang terkait dengan penjagaan on-call), atau sebagai bagian dari alat internal yang lebih luas bersama orientasi karyawan dan permintaan lainnya. Lihat cara membangun alat internal untuk pendekatan yang lebih luas.
Membangunnya dengan Mythex
Di Mythex Anda menjelaskan kebijakan dan alur kerja di chat, dan agen membangun aplikasi di pratinjau langsung, dengan database Postgres yang ditambahkan ketika pengajuan perlu disimpan. Anda bisa mengundang rekan kerja ke ruang kerja Mythex Anda untuk membantu membangun dan meninjaunya, dan membagikan pratinjau kepada dua atau tiga pengguna sungguhan sebelum menerbitkan — kasus penggunaan alat internal di dokumentasi menyarankan hal yang sama. Login karyawan dan email notifikasi menggunakan penyedia Anda sendiri; Mythex tidak memiliki login atau pengiriman email bawaan untuk pengguna akhir. Gunakan mode Rencana untuk menyepakati perhitungan saldo sebelum kode apa pun ditulis, dan /test untuk mengklik alur pengajuan dan persetujuan.
Untuk prompt awal, coba templat pelacak persetujuan atau direktori tim.
Pertanyaan
Fitur apa saja yang dibutuhkan aplikasi manajemen cuti?
Jenis cuti dengan jatah tahunan, formulir pengajuan, persetujuan manajer, sisa saldo tiap karyawan, kalender tim yang menunjukkan siapa yang sedang cuti, dan hari libur nasional per lokasi. Laporan dan ekspor penggajian menyusul kemudian.
Bagaimana saldo cuti sebaiknya dihitung?
Simpan setiap pengajuan dan setiap penyesuaian sebagai catatan terpisah, lalu hitung saldo dari catatan-catatan itu, alih-alih menyimpan satu angka yang Anda edit langsung. Dengan begitu Anda selalu bisa menjelaskan sebuah saldo dan memperbaiki kesalahan tanpa kehilangan riwayat.
Apakah aplikasi cuti harus mengikuti hukum ketenagakerjaan?
Hak cuti, pengalihan (carry-over), aturan cuti sakit, dan kewajiban pencatatan ditetapkan oleh hukum setempat dan kontrak kerja, dan sangat bervariasi antarnegara. Aplikasi sebaiknya menerapkan kebijakan Anda, dan kebijakan itu sebaiknya diperiksa oleh penasihat HR atau hukum.
Kapan perusahaan sebaiknya beralih dari spreadsheet ke aplikasi cuti?
Biasanya ketika lebih dari satu manajer menyetujui cuti, ketika karyawan mulai menanyakan saldo mereka ke HR, atau ketika dua orang kunci sedang cuti bersamaan karena tidak ada yang bisa melihat kalendernya.