Lewati ke konten utama

Karyawan

Setiap orang yang Anda gaji, Anda atur jadwalnya, Anda setujui cutinya, atau Anda ganti biayanya membutuhkan satu record di sini: Employee (data karyawan). Absensi, cuti, penggajian, klaim pengeluaran, penilaian kinerja, dan aplikasi self-service semuanya membaca record itu, sehingga seberapa teliti Anda mengisinya menentukan seberapa banyak bagian HR lain yang bisa berjalan. Bagian sistem ini adalah wilayah HR dan penggajian, bukan wilayah karyawan.

Pekerjaan ini Anda lakukan di workspace People (/app/people) dan di HR Setup (/app/hr-setup).

Yang mungkin Anda cari di halaman ini​

Menambahkan karyawan baru​

Periksa satu pengaturan lebih dulu. Employee Naming By di HR Settings (/app/hr-settings, tab Employee) menentukan nama sebuah record karyawan. Bawaannya adalah Employee Number, dan pilihan itu membuat field tersebut wajib diisi pada setiap karyawan. Mengubahnya di kemudian hari hanya berpengaruh pada record baru, jadi putuskan sebelum Anda melakukan impor — lihat Penomoran karyawan, usia pensiun, dan jam kerja standar.

Setelah itu:

  1. Buka /app/employee lalu klik + Add Employee.
  2. Isi First Name dan Last Name, Company, Gender, Date of Birth, serta Date of Joining. Pemilih tanggal pada Date of Birth tidak akan menerima tanggal di masa depan.
  3. Di bagian Company Details, isi Department, Designation, Employment Type, Branch, dan Grade, lalu Reports to — di PT Maju Jaya, Sari Dewi melapor kepada Budi Santoso. Pemilih Reports to hanya menawarkan karyawan Active yang boleh Anda lihat, dan mengecualikan record itu sendiri.
  4. Pada tab Attendance & Leaves, isi Default Shift dan approver mana pun yang berbeda dari default department.
  5. Simpan.

Bila orang tersebut juga perlu masuk ke sistem, lihat Memberi karyawan akun login.

Yang tidak boleh Anda kosongkan. Ada enam field yang wajib diisi sejak awal:

  • First Name
  • Company
  • Gender
  • Date of Birth
  • Date of Joining
  • Status

Employee Number menjadi yang ketujuh, karena pengaturan penamaan bawaan membuatnya wajib. Full Name disusun dari bagian-bagian nama saat Anda menyimpan, dan tidak bisa diketik langsung.

Di mana field selebihnya berada. Formulirnya terbagi menjadi beberapa tab:

  • Overview — nama, company, status, User Details, Company Details
  • Address & Contacts
  • Attendance & Leaves
  • Salary
  • Personal Details
  • Profile
  • Joining — tanggal penawaran, pengangkatan tetap, kontrak, dan pensiun
  • Exit
  • Additional Details
  • Connections

Sebuah record Employee. Deretan tab di bagian atas mengelompokkan data pribadi, perusahaan, gaji, dan keluar kerja.

Sebuah record Employee. Deretan tab di bagian atas mengelompokkan data pribadi, perusahaan, gaji, dan keluar kerja.

Memasukkan banyak orang sekaligus. Gunakan Data Import (/app/data-import) dengan Employee sebagai reference document type. Selama daftar karyawan masih kosong, tersedia tombol Import Employees yang langsung memulai proses itu.

Daftar Employee menampilkan orang berstatus Active secara bawaan, dan mewarnai indikator statusnya:

  • hijau untuk Active
  • merah untuk Inactive
  • oranye untuk Suspended
  • abu-abu untuk Left

Daftar Employee pada sebuah perusahaan kecil.

Daftar Employee pada sebuah perusahaan kecil.

Menyiapkan departemen, jabatan, cabang, dan golongan​

  1. Bangun Department sebagai struktur pohon — Keuangan, Operasional, HRD — di bawah satu perusahaan. Pada masing-masing, isi Payroll Cost Center, sebuah Leave Block List bila Anda menutup tanggal tertentu untuk tim itu, serta baris pada Leave Approver, Expense Approver, Shift Request Approver, dan Overtime Request Approver. Baris pertama pada setiap tabel itu menjadi default department tersebut.
  2. Buat record Designation Anda, lengkap dengan Skills yang dituntut peran itu (masing-masing berupa record Skill, /app/skill) dan sebuah Appraisal Template bila Anda menjalankan penilaian kinerja.
  3. Buat entri Employment Type dan Branch yang Anda perlukan. Employment Type muncul sebagai filter pilihan pada Employee Attendance Tool, Leave Control Panel, Shift Assignment Tool, dan Bulk Salary Structure Assignment, serta sebagai field pada Job Opening.
  4. Buat record Employee Grade dengan Default Salary Structure dan Default Base Pay dalam IDR, agar Salary Structure Assignment untuk siapa pun pada golongan itu terisi dengan sendirinya. Lihat Penggajian.
peringatan

Payroll Entry memfilter berdasarkan branch, department, designation, dan grade — tetapi bukan employment type. Anda tidak bisa menjalankan penggajian untuk "seluruh staf Kontrak" tanpa pegangan lain.

Rincian field demi field untuk record-record ini ada di Record struktur perusahaan.

Menjalankan onboarding karyawan baru dari daftar periksa​

Sebuah template onboarding adalah daftar langkah. Menjalankannya mengubah langkah-langkah itu menjadi sebuah Project dengan satu Task yang ditugaskan untuk setiap langkah. Baik Employee Onboarding Template maupun Employee Onboarding berada di Tenure (/app/tenure).

  1. Di Employee Onboarding Template, tambahkan satu baris untuk setiap langkah: Activity Name, User atau Role yang bertanggung jawab (mengisi salah satu akan menyembunyikan yang lain), Begin On (Days) dan Duration (Days) yang dihitung dari tanggal mulai, sebuah Task Weight, serta Description yang menjadi isi task.
  2. Centang Required for Employee Creation pada langkah yang harus selesai sebelum orang tersebut ada di dalam sistem — kontrak yang sudah ditandatangani, dokumen identitas yang sudah dikumpulkan.
  3. Buat sebuah Employee Onboarding. Pemilih Job Applicant difilter ke status Accepted dan pemilih Job Offer ke penawaran yang sudah disubmit untuk pelamar tersebut, sehingga jalur ini ditujukan untuk perekrutan yang datang lewat Rekrutmen. Kedua filter itu hanya berlaku di formulir, jadi Data Import tetap bisa menautkan pelamar yang tidak pernah berstatus Accepted. Hanya boleh ada satu onboarding per pelamar: pada onboarding kedua Anda akan melihat pesan Employee Onboarding: {0} already exists for Job Applicant: {1}.
  4. Pilih templatenya untuk menarik daftar aktivitasnya, isi Onboarding Begins On, Date of Joining, dan sebuah Holiday List, lalu submit.
  5. Boarding Status mengikuti persentase penyelesaian project: Pending saat nol, In Process di antaranya, Completed pada 100. Mark as Completed menutup seluruh task dan project sekaligus.
  6. Setelah task yang diwajibkan selesai, gunakan Create > Employee.

Saat Anda men-submit sebuah Employee Onboarding, GARP melakukan semua ini sekaligus:

  • Membuat sebuah Project bernama Employee Onboarding : <job applicant>, dengan expected start date diisi Date of Joining, serta department dan company yang ikut terbawa.
  • Menuliskan project itu kembali ke dokumen onboarding dan mengubah Boarding Status menjadi Pending.
  • Membuat satu Task di dalam project itu untuk setiap baris aktivitas. Subjeknya adalah <activity name> : <employee name>. Task berjalan dari Onboarding Begins On ditambah Begin On (Days), sampai Onboarding Begins On ditambah Begin On (Days) ditambah Duration (Days). Tanggal mana pun yang jatuh pada hari libur digeser maju hari demi hari.
  • Menugaskan setiap task kepada User yang disebut, dan kepada setiap user aktif yang memegang Role yang disebut (Administrator dikecualikan).
  • Mengirim email kepada para penerima tugas itu hanya bila Notify users by email dicentang.

Membatalkan dokumen onboarding menghapus task dan project tersebut sepenuhnya serta membersihkan tautannya, dan Anda akan melihat peringatan Linked Project ... and Tasks deleted. Menambahkan baris aktivitas setelah submit lalu menyimpan akan langsung membuat task yang belum ada.

catatan

Tanggal selesai adalah offset mulai ditambah durasi, sehingga aktivitas dengan Begin On (Days) 0 dan Duration (Days) 1 berjalan dari tanggal mulai sampai keesokan harinya. Biarkan keduanya nol dan task itu mulai sekaligus selesai pada Onboarding Begins On. Bila baik dokumen onboarding maupun karyawan yang tertaut tidak memberikan daftar hari libur, submit gagal dengan Please set the Holiday List.

peringatan

Draf Employee yang dihasilkan menyalin company, department, designation, grade, date of joining, holiday list, dan job applicant, lalu mengisi Personal Email dari data pelamar dan Status menjadi Active — tetapi First Name datang dalam keadaan kosong, karena nama pelamar tidak pernah dipecah menjadi bagian-bagian nama. Ketik sendiri bagian-bagian nama itu sebelum menyimpan.

Setelah disimpan, Job Applicant dan Job Offer diubah menjadi Accepted, sementara penawaran yang masih draf dibiarkan sebagai draf — GARP meminta Anda melengkapi detailnya lalu men-submit sendiri — dan karyawan baru itu dicatatkan kembali ke dokumen onboarding. Mencoba membuat karyawan terlalu dini memunculkan All the mandatory tasks for employee creation are not completed yet., dan dari onboarding yang belum disubmit, Submit this to create the Employee record.

Memberi karyawan akun login​

Employee adalah data kepegawaian; User adalah akun login. Membuat karyawan tidak dengan sendirinya membuat User. Penggajian tetap berjalan lancar untuk orang yang tidak pernah masuk ke sistem.

Batas paket langganan Anda menghitung system user yang aktif, sehingga User Type pada akun itulah yang menentukan siapa yang ditagihkan — lihat Undang tim Anda dan Paket dan batasan.

Ada tiga jalan:

  • Pada karyawan yang sudah tersimpan dan belum punya login, klik Create User, konfirmasi alamat emailnya (bawaannya preferred email, lalu company email, lalu personal email) dan biarkan Create User Permission tetap tercentang. GARP membuat User tersebut dengan role Employee beserta User Permission untuk karyawan dan perusahaan itu, sehingga yang bersangkutan hanya melihat record miliknya sendiri. Nama lengkapnya dipecah berdasarkan spasi — "Rina Halim Putri" menjadi first name Rina, middle name Halim, last name Putri — dan gender, tanggal lahir, telepon, serta bio ikut disalin.
  • Atau centang Create User Automatically sebelum menyimpan karyawan baru. Field User ID menjadi read-only, dan company email atau personal email menjadi wajib diisi.
  • Untuk menautkan akun login yang sudah ada, isi User ID secara langsung. Satu user hanya boleh dipegang oleh satu karyawan Active, sehingga karyawan berstatus Left yang memegangnya tidak menghalangi perekrutan ulang.

Setelah itu ada dua hal yang terjadi dengan sendirinya:

  • Menyimpan karyawan yang memiliki User ID akan mendorong bagian-bagian nama, tanggal lahir, gender, dan foto profil ke User tersebut, serta menambahkan role Employee bila belum ada.
  • Mengubah Status menjadi selain Active akan menonaktifkan user yang tertaut — Suspended dan Inactive sama halnya dengan Left — dan mengembalikannya ke Active akan mengaktifkannya lagi. Menghapus centang Create User Permission mencabut kedua user permission tadi.

User tanpa record karyawan tidak dapat mempertahankan role Employee maupun Employee Self Service. GARP mencabutnya saat penyimpanan dan menampilkan pesan User {0}: Removed Employee role as there is no mapped employee.

peringatan

Mengosongkan User ID pada seorang karyawan mencabut kedua role itu dari akun login lama dan menghapus user permission Employee-nya, tetapi meninggalkan user permission Company. Hapus sendiri di /app/user-permission bila orang itu memang harus kehilangan akses ke data perusahaan tersebut.

User yang dibuat lewat Create User adalah System User dengan Send Welcome Email aktif, sehingga ikut dihitung dalam batas user aktif Anda dan langsung mengirim email kepada orang tersebut begitu disimpan.

catatan

GARP HR memasang user type Employee Self Service yang daftar permission-nya mencakup read dan write pada Employee itu sendiri, tetapi Create User tidak menerapkan user type tersebut. Aplikasi /hrms mencari karyawan berstatus Active yang User ID-nya adalah user yang sedang login, sehingga karyawan nonaktif atau tautan yang hilang membuat aplikasi itu tidak punya apa pun untuk ditampilkan. Lihat Self-service karyawan.

Mencatat keterampilan dan asuransi kesehatan​

Keterampilan. Buat sebuah Employee Skill Map (/app/employee-skill-map) lalu pilih karyawannya. Setelah itu:

  • Record dinamai sesuai ID karyawan, dan hanya ada satu untuk setiap orang.
  • Nama dan designation-nya diambilkan untuk Anda dan tidak bisa disunting.
  • Skill yang disyaratkan designation tersebut ikut dimuat dengan nilai Proficiency sudah berada pada tingkat maksimum, untuk Anda nilai ulang.
  • Setiap barisnya membawa Evaluation Date yang bawaannya hari ini.
  • Kursus dicatat pada tabel Trainings yang mengacu ke sebuah Training Event.

Tidak ada satu pun proses yang tertahan karenanya — ini dokumentasi, bukan syarat untuk promosi atau penugasan.

Asuransi kesehatan. Dua langkah:

  1. Tambahkan setiap penyedia sebagai record Employee Health Insurance (/app/employee-health-insurance, yang hanya menyimpan nama, tidak lebih).
  2. Isi Health Insurance Provider dan Health Insurance No pada tab Personal Details karyawan.
peringatan

Ini murni pencatatan. Anda memang bisa mencatat nomor kepesertaan BPJS Kesehatan, tetapi tidak ada satu pun perhitungan yang diturunkan darinya, dan setiap iuran atau potongan harus ada sebagai salary component. Lihat Pajak dan tunjangan.

Menyiapkan HR untuk perusahaan baru, sesuai urutannya​

  1. HR Settings — Employee Naming By, Retirement Age, Standard Working Hours, dan sakelar pengingat.
  2. Struktur pohon Department, lengkap dengan cost center penggajian dan keempat tabel approver.
  3. Designation, Employment Type, Branch, dan Employee Grade.
  4. Sebuah Holiday List dan sebuah Holiday List Assignment untuk perusahaan tersebut.
  5. Karyawan yang sudah diinput atau diimpor, lengkap dengan Reports to, Default Shift, dan Attendance Device ID numerik.
  6. Akun login untuk orang-orang yang memang perlu masuk ke sistem, plus pemeriksaan bahwa tidak ada user permission Company usang yang tertinggal.
  7. Sebuah laporan tersimpan atas Contract End Date bila Anda menjalankan kontrak PKWT.

Contoh kasus: PT Maju Jaya​

Singkatan perusahaannya PMJ dan negaranya Indonesia.

  1. Struktur. Sebuah department bernama Keuangan tersimpan sebagai Keuangan - PMJ, dengan cost center tersebut pada Payroll Cost Center dan Budi Santoso sebagai baris pertama pada Leave Approver sekaligus Expense Approver. Employee Grade Staf diberi Default Salary Structure "Struktur Gaji Staf 2026" dan Default Base Pay IDR 5.500.000.
  2. Karyawan. Sari Dewi dibuat dengan Employee Number 2024-0117, sehingga recordnya dinamai 2024-0117. Date of Birth 17 April 1990 mengisi Date Of Retirement menjadi 17 April 2050. Payroll Cost Center terisi sendiri dari Keuangan - PMJ. Karena Budi diimpor dengan device ID 1050, Sari mendapat 1051.
  3. Gaji. Sebuah Salary Structure Assignment baru untuk Sari menampilkan Grade Staf dalam keadaan read-only serta mengisi Salary Structure dan Base = IDR 5.500.000 dari golongan tersebut. Menaikkan Default Base Pay golongan itu menjadi IDR 6.000.000 tahun depan tidak mengubah apa pun pada assignment ini — pengambilan nilai hanya terjadi ke field yang kosong, dan hanya pada assignment baru. Cost to Company (CTC) Sari boleh saja tertulis IDR 96.000.000; penggajian mengabaikannya dan membayar berdasarkan Base.
  4. Tanggal onboarding. Dengan Onboarding Begins On Senin 5 Januari 2026, sebuah aktivitas dengan Begin On (Days) 2 dan Duration (Days) 3 berjalan dari Rabu 7 Januari sampai Sabtu 10 Januari. Bila Sabtu dan Minggu adalah hari libur mingguan, tanggal selesainya digeser ke Senin 12 Januari: enam hari kalender untuk task tiga hari.
  5. Keluar kerja. Menetapkan Sari menjadi Left selagi Rina Halim masih melapor kepadanya akan ditolak dengan Cannot Relieve Employee beserta tautan ke Rina. Penolakan yang sama menghentikan submit Employee Separation, karena dokumen itu menyimpan record karyawan atas nama Anda. Arahkan dulu Rina ke Budi.

Praktik Indonesia: apa yang tersedia bawaan dan apa yang harus Anda konfigurasi​

GARP HR menyediakan penyiapan HR khusus negara untuk tepat dua negara: India dan Uni Emirat Arab. Tidak ada modul Indonesia. Karena itu, menyetel negara sebuah Company menjadi Indonesia tidak menjalankan penyiapan negara apa pun dan tidak menambahkan salary component khusus negara apa pun — hanya empat komponen generik (Basic, Arrear, Leave Encashment, dan satu potongan Income Tax) bila belum ada.

Yang tersedia bawaan pada master Employee untuk Indonesia:

  • Tab Additional Details — sebatas pencatatan data. Lihat Tab Additional Details.
  • Contract End Date dan Notice (days) pada tab Joining. Contract End Date diperiksa terhadap Date of Joining; Notice (days) hanyalah angka biasa tanpa pemeriksaan sama sekali. Keduanya tersimpan, tetapi tidak dibaca oleh apa pun: tidak ada peringatan berakhirnya PKWT, tidak ada penghitung perpanjangan, tidak ada perubahan status ketika tanggalnya terlewat. Bila Anda menjalankan kontrak PKWT, buatlah laporan tersimpan atau sebuah Notification atas Contract End Date lalu tinjau setiap bulan.
  • Exit Reason dan blok Blacklist pada tab Exit, yang ditulis oleh Employee Separation saat disubmit dan dikembalikan lagi saat dibatalkan. Tersedia empat belas alasan keluar bawaan — Mengundurkan Diri, Pensiun, Meninggal Dunia, Kontrak Berakhir (PKWT), dan sepuluh dasar PHK — masing-masing membawa pengali pesangon PP 35/2021, dan karyawan yang masuk daftar hitam menampilkan banner merah pada formulirnya. Lihat Siklus hidup karyawan.
  • Health Insurance Provider dan Health Insurance No untuk nomor kepesertaan BPJS Kesehatan.

Yang harus dibangun sendiri oleh konsultan penggajian:

  • BPJS Ketenagakerjaan. Satu-satunya yang tersedia bawaan adalah satu salary component percobaan bernama BPJS TK dengan rumus (2 * (GP + TMK)) / 100 — yaitu 2 persen tetap dari Gaji Pokok ditambah Masa Kerja, yang hanya mencakup porsi JHT karyawan. JP, JKK, JKM, dan seluruh iuran sisi pemberi kerja harus Anda tambahkan sendiri sebagai komponen lain.
  • BPJS Kesehatan. Tidak ada komponen bawaan sama sekali. Field pada karyawan hanyalah kotak teks.
  • PPh 21. Tidak ada tabel TER, tidak ada field status PTKP, tidak ada field NPWP. Anda membangunnya sendiri dari sebuah Income Tax Slab dan salary component. Lihat Pajak dan tunjangan.
  • THR. Tidak ada dokumen khusus. THR berupa Additional Salary atau sebuah komponen pada struktur gaji.
peringatan

Jangan menganggap kepatuhan terhadap peraturan sudah terpenuhi hanya karena sebuah field tersedia. Health Insurance No, Marriage Code, Nationality Status, dan Work Hours Type semuanya tidak berfungsi apa-apa. Setiap rupiah BPJS atau PPh 21 di dalam slip gaji berasal dari salary component yang dikonfigurasi seseorang.

Rincian, batasan, dan kasus khusus​

Semua yang ada di bawah ini bersifat referensi: record di balik setiap tugas, field-nya secara persis, aturan yang membuat penyimpanan gagal, siapa boleh melakukan apa, dan email yang dikirim GARP dengan sendirinya. Bila pekerjaan Anda sudah selesai, Anda boleh berhenti di sini.

Record Employee tidak mengenal status draf, disubmit, maupun dibatalkan. Record ini sekadar disimpan, dan boleh di-rename. Pelacakan perubahan aktif, sehingga setiap penyuntingan field tercatat pada timeline aktivitas record tersebut. Siklus hidupnya dibawa oleh Status dan oleh dokumen siklus hidup terpisah yang dijelaskan di Siklus hidup karyawan. Record Employee milik inti GARP ERP, bukan aplikasi HR — itulah sebabnya record yang sama juga muncul pada timesheet di Projects.

Record yang terlibat​

  • Employee (/app/employee) — satu record untuk satu orang: data pribadi dan kepegawaian, garis pelaporan, para approver, dan tautan ke akun login.
  • Department (/app/department) — struktur pohon dalam lingkup satu perusahaan, membawa cost center penggajian, sebuah leave block list, dan tabel-tabel approver.
  • Designation (/app/designation) — nama jabatan, dilengkapi Appraisal Template dan tabel Skills.
  • Employment Type (/app/employment-type) dan Branch (/app/branch) — daftar berisi satu field saja, dipakai hanya sebagai filter. Delapan employment type tersedia bawaan (Full-time, Part-time, Probation, Contract, Commission, Piecework, Intern, Apprentice), dan Anda boleh mengganti namanya menjadi Tetap, Kontrak, dan Magang.
  • Employee Grade (/app/employee-grade) — golongan yang menyimpan Default Salary Structure dan Default Base Pay, yang diambil oleh Salary Structure Assignment lewat field Grade pada karyawan.
  • Employee Group (/app/employee-group) — daftar karyawan bernama, ditautkan dari HR Setup. Tidak ada satu pun bagian HR maupun penggajian yang membacanya; anggap saja sebagai label.
  • Employee Onboarding Template dan Employee Onboarding, keduanya di Tenure (/app/tenure) — daftar periksa berisi baris Employee Boarding Activity pada tabel di dalam formulir, yang berubah menjadi sebuah Project dengan Task yang ditugaskan.
  • Employee Skill Map (/app/employee-skill-map) dan Employee Health Insurance (/app/employee-health-insurance) — record pendukung.

Bagaimana semua record terhubung​

Department / Designation / Employment Type / Branch / Employee Grade
|
Job Applicant -> Job Offer -> Employee Onboarding -> Employee -> User
| |
Project + Tasks Attendance, Leave Application,
Salary Structure Assignment,
Expense Claim, Appraisal

Tidak ada satu pun bagian di atas Employee yang wajib; rekrutmen dan onboarding hanyalah jalur opsional menuju record yang sama.

Field yang mengubah perilaku sistem​

FieldTabMenerimaApa yang bergantung padanya
StatusOverviewActive, Inactive, Suspended, Left (bawaan Active)Status apa pun selain Active menonaktifkan User yang tertaut; Left mewajibkan Relieving Date; Inactive memblokir transaksi baru
Reports toOverviewKaryawan Active, bukan dirinya sendiriTampilan Tree pada daftar Employee dan halaman Organizational Chart di /app/organizational-chart
Employee NumberOverviewTeks bebasMenjadi nama record ketika Employee Naming By berisi Employee Number
DepartmentOverviewDepartment dalam perusahaan yang samaCadangan approver, cadangan cost center penggajian, serta filter pada Payroll Entry, Leave Control Panel, Shift Assignment Tool, dan Employee Attendance Tool
GradeOverviewEmployee GradeMengisi Salary Structure dan Base pada Salary Structure Assignment baru
Employment Type, BranchOverviewEmployment Type, BranchHanya filter — tidak ada perhitungan apa pun dari keduanya
Preferred Contact EmailAddress & ContactsCompany Email, Personal Email, User IDMengisi field read-only Preferred Email, yang dibaca lebih dulu oleh notifikasi cuti dan email salary slip — pengingat ulang tahun, hari jadi kerja, dan hari libur justru mengabaikannya
Cost to Company (CTC)SalaryNilai mata uang dalam Salary CurrencyDitulis oleh Employee Promotion. Penggajian tidak membacanya — gaji berasal dari field Base pada Salary Structure Assignment
Payroll Cost CenterSalaryCost center non-group dalam perusahaan yang samaUrutan kedua pada rantai cost center yang dipakai Payroll Entry; diambil dari Department bila dibiarkan kosong
Employee Advance AccountSalaryAkun aset piutang dalam Salary CurrencyAkun uang muka milik orang ini, yang didahulukan di atas default perusahaan
Attendance Device ID (Biometric/RF tag ID)Attendance & LeavesTeks bebas, terisi otomatisKunci yang dipakai perangkat biometrik saat mengirim data; lihat di bawah
Default ShiftAttendance & LeavesShift TypeShift yang dipakai bila tidak ada Shift Assignment yang menutupi hari tersebut, sekaligus shift yang tidak boleh diminta lewat Shift Request
Expense Approver, Leave Approver, Shift Request Approver, Overtime Request ApproverAttendance & LeavesUserApprover bawaan pada pengajuan yang sesuai, didahulukan di atas baris pertama milik department
Salary ModeSalaryBank, Cash, ChequePilihan Bank memunculkan Bank Name, Bank A/C No., dan IBAN. Tidak ada percabangan lain

Menyimpan seorang karyawan memberikan dua role secara otomatis:

  • User yang disebut pada Leave Approver mendapat role Leave Approver.
  • User yang disebut pada Expense Approver mendapat role Expense Approver.

Tidak ada role padanan untuk Shift Request Approver maupun Overtime Request Approver, jadi kedua field itu tidak memberikan role apa pun. Dokumen pengajuannya sendiri hanya memeriksa bahwa approver yang Anda pilih adalah orang yang disebut pada record karyawan atau salah satu baris pada tabel department. Bila tidak, pengajuan ditolak dengan Only Approvers can Approve this Request.

Payroll Entry menentukan cost center dengan urutan berikut, dan yang pertama cocok mengambil 100 persen:

  1. Tabel Cost Centers di dalam Salary Structure Assignment karyawan yang sudah disubmit.
  2. Payroll Cost Center milik karyawan.
  3. Milik Department.
  4. Cost Center pada Payroll Entry itu sendiri.

Tab Additional Details​

GARP HR menambahkan tab Additional Details berisi field profil Indonesia yang bersifat opsional, dipasang bersama aplikasinya:

  • Personal Details — Nickname, Place of Birth, Religion (Islam, Christian, Catholic, Hindu, Buddhist, Confucian, Other), Citizenship, Nationality Status (Local, Expat), Marriage Code.
  • Work Schedule — Work Period Type (Shift, Regular) dan Work Hours Type (7 Hours, 8 Hours).
  • Identity Document — Identity Type (KTP, E-KTP, KTP (Seasonal), Passport, Other), Identity Number, Identity Valid Until, ditambah dua slot Driving Licenses.
  • Residential Address dan Origin Address — teks bebas ditambah Village, District, City, Province, Country; serta Landline Phone.
  • Internship (Prakerin) — Internship Class Status, Internship Class, School Name.
peringatan

Tidak ada satu pun bagian GARP yang membaca field-field ini. Semuanya sebatas pencatatan yang bisa dicari dan diekspor. Khususnya Work Hours Type, yang sama sekali tidak mengubah perhitungan lembur maupun penggajian — perhitungan itu berasal dari Shift Type dan struktur gaji — dan Identity Number tidak divalidasi sebagai NIK 16 digit.

Apa yang membuat GARP menolak menyimpan​

PesanPenyebab
Date of Birth cannot be greater than today.Date of Birth di masa depan
Date of Joining must be after Date of BirthTanggal masuk mendahului tanggal lahir
Relieving Date must be after Date of JoiningRelieving Date lebih awal daripada tanggal masuk
Contract End Date must be after Date of JoiningTanggal berakhir PKWT lebih awal daripada tanggal masuk
Date Of Retirement must be after Date of JoiningTanggal pensiun lebih awal daripada tanggal masuk
Please enter relieving date.Status diisi Left sementara Relieving Date kosong
The following employees are currently still reporting to ...Status diisi Left padahal masih ada karyawan Active yang mencantumkan orang ini pada Reports to. Pesannya menampilkan mereka sebagai tautan, di bawah judul Cannot Relieve Employee
Employee cannot report to himself.Reports to menunjuk ke record yang sama
User {0} is already assigned to Employee {1}User ID tersebut sudah dipegang karyawan Active lain
User {0} does not existUser ID menyebut akun login yang sudah dihapus
Company or Personal Email is mandatory when 'Create User Automatically' is enabledCreate User Automatically dicentang tanpa alamat email. Judulnya: Auto User Creation Error. Pemeriksaan ini hanya berjalan saat record pertama kali dibuat
Please setup Employee Naming System in Human Resource > HR SettingsEmployee Naming By kosong

Urutan pemeriksaan menjadi penting ketika beberapa hal salah sekaligus: kesalahan tanggal muncul lebih dulu, lalu pemeriksaan Left, lalu pemeriksaan pelaporan ke diri sendiri.

Ada dua hal yang tampak seperti kesalahan padahal bukan:

  • Memilih Preferred Contact Email yang fieldnya kosong hanya memunculkan pesan Please enter Company Email. Recordnya tetap tersimpan, dengan Preferred Email kosong.
  • Pemeriksaan karyawan aktif yang menjaga Attendance, Leave Application, Expense Claim, Shift Request, Overtime Request, Appraisal, dan Employee Checkin hanya menolak status Inactive, dengan Transactions cannot be created for an Inactive Employee {0}. Karyawan berstatus Left atau Suspended masih menerima transaksi baru.

Penomoran karyawan, usia pensiun, dan jam kerja standar​

Penomoran diatur dari HR Settings (/app/hr-settings), tab Employee, field Employee Naming By, dengan tiga pilihan dan satu efek samping pada formulir:

PengaturanNama recordField SeriesField Employee Number
Employee Number (bawaan)Apa pun yang Anda ketik pada Employee NumberTersembunyi, tidak wajibTampil, wajib
Naming SeriesHR-EMP-00001 dan seterusnya, dari series HR-EMP-Tampil, wajibTersembunyi, tidak wajib
Full NameFull Name yang tersusun otomatisTersembunyi, tidak wajibTampil, wajib

Menyimpan HR Settings menulis ulang properti field tersebut sekaligus mengisi data lama:

  • Beralih ke Naming Series menuliskan series bawaan pada setiap karyawan yang seriesnya kosong.
  • Beralih dari Naming Series menyalin nama record setiap karyawan ke Employee Number yang masih kosong.
  • Kosongkan pengaturan ini sepenuhnya, dan penyimpanan karyawan akan gagal dengan pesan di atas.
  • Mengubahnya di kemudian hari hanya berpengaruh pada record baru.
peringatan

Dengan penamaan Full Name, dua orang bernama Sari Dewi tidak bisa sama-sama ada — penyimpanan yang kedua ditolak karena nama record ganda. Dan Employee Number tetap wajib diisi pada penamaan Full Name meskipun tidak dipakai untuk nama record. Tentukan skemanya sebelum Anda melakukan impor.

Retirement Age (In Years) berada tepat di sebelahnya. Mengubah Date of Birth pada formulir akan mengisi Date Of Retirement sebagai tanggal lahir ditambah nilai pengaturan tersebut, memakai 60 bila dikosongkan. Sari Dewi, lahir 17 April 1990, mendapat 17 April 2050 — atau 17 April 2046 setelah Anda menyetel usianya menjadi 56. Perhitungan ini hanya berjalan di formulir, sehingga Data Import meninggalkan field itu kosong. Tidak ada proses apa pun yang bertindak atas tanggal tersebut setelah terisi.

Standard Working Hours, pada tab yang sama, dibaca oleh tepat dua laporan: Project Profitability dan Employee Hours Utilization Based on Timesheet. Keduanya menolak berjalan selama nilainya nol. Project Profitability menampilkan The metrics for this report are calculated based on the Standard Working Hours. Please set Standard Working Hours in HR Settings., dan Employee Hours Utilization menampilkan pesan yang sama tanpa kata the.

Attendance Device ID dan rekaman biometrik​

Saat seorang karyawan baru pertama kali disimpan, GARP HR mengisikan Attendance Device ID untuk Anda bila dibiarkan kosong: sistem mengambil device ID numerik tertinggi yang sudah dipakai di perusahaan tersebut lalu menambahkan satu. Impor Budi Santoso dengan 1050, maka karyawan baru berikutnya di PT Maju Jaya mendapat 1051.

Perangkat biometrik mengirim rekaman kehadiran ke GARP melalui sebuah alamat yang mencari orangnya berdasarkan field ini. Bila tidak ada yang cocok, jawabannya No Employee found for the given employee field value. 'attendance_device_id': 1051. Lihat Absensi dan shift.

peringatan

Penomoran otomatis itu memperlakukan ID yang sudah ada sebagai bilangan bulat biasa. Bila device ID Anda alfanumerik — PMJ-014 — semuanya terhitung nol, sehingga karyawan baru berikutnya diberi 1, dan penomoran otomatis lalu berjalan 2, 3, 4 … secara paralel dengan ID alfanumerik Anda alih-alih melanjutkannya. Pilih salah satu: pertahankan device ID tetap numerik, atau isi sendiri field itu pada setiap record baru.

Laporan Fingerprint Machine Export memang tersedia di aplikasi HR dan membaca dua field — sebuah PIN mesin absensi dan sebuah status mesin absensi — yang sebenarnya tidak pernah dibuat oleh GARP, karena langkah yang seharusnya menambahkannya ke formulir Employee tidak pernah dijalankan. Sampai seorang developer memperbaikinya, laporan itu error, dan lagi pula tidak ditautkan dari workspace mana pun. Gunakan laporan Employee Information atau ekspor tampilan daftar berisi Attendance Device ID sebagai gantinya.

catatan

Field Holiday List pada Employee disembunyikan oleh GARP HR dan bukan dari sanalah hari libur dibaca. Hari libur berasal dari Holiday List Assignment (/app/holiday-list-assignment), sebuah dokumen yang disubmit dengan tanggal mulai, yang ditetapkan untuk satu karyawan atau untuk seluruh perusahaan. Assignment terakhir yang berlaku pada atau sebelum hari itulah yang menang, dan karyawan tanpa assignment akan mengikuti milik perusahaannya; bila keduanya tidak ada, Anda mendapat No Holiday List was found for Employee ... or their company ... for date .... Lihat Cuti.

Record struktur perusahaan​

RecordDinamai berdasarkanField penting
DepartmentNama department ditambah singkatan perusahaan — Keuangan - PMJParent Department, Is Group, Disabled, Payroll Cost Center, Leave Block List, dan empat tabel approver
DesignationNama designationDescription, Appraisal Template, Skills
Employment TypeNama typenyaTidak ada lagi
BranchNama cabangTidak ada lagi
Employee GradeDiminta saat pembuatan — Anda mengetiknya sendiriDefault Salary Structure, Default Base Pay
Employee GroupNama grupSebuah tabel berisi karyawan
Employee Health InsuranceNama penyediaTidak ada lagi

Department berbentuk pohon untuk setiap perusahaan:

  • Biarkan Parent Department kosong dan record itu dipindahkan ke akar pohon, yang ditampilkan sebagai All Departments.
  • Ganti namanya, dan singkatan perusahaan ditambahkan kembali untuk Anda.
  • Keempat tabel approver — Leave Approver, Expense Approver, Shift Request Approver, Overtime Request Approver — semuanya berisi baris Department Approver yang memuat satu User, dan baris pertama pada masing-masing tabel menjadi default.
  • Payroll Cost Center difilter ke cost center non-group dalam perusahaan yang sama.

Employee Grade menyembunyikan Default Base Pay sampai Default Salary Structure diisi, dan mengambil mata uangnya dari struktur tersebut. Pemilih strukturnya hanya menawarkan struktur yang sudah disubmit dengan Is Active = Yes.

peringatan

Employee Grade tidak membawa kebijakan cuti apa pun. Formulirnya memuat filter untuk sebuah field Default Leave Policy yang tidak ada pada record tersebut, jadi filter itu tidak melakukan apa-apa. Hak cuti berasal dari Leave Policy Assignment, yang bisa Anda buat secara massal dari Leave Control Panel dengan filter golongan. Lihat Cuti.

Siapa boleh melakukan apa​

Record Employee tidak pernah disubmit maupun dibatalkan, jadi izin yang berpengaruh hanyalah create, write, dan delete.

RecordHR UserHR ManagerRole Employee
Employeecreate, write, delete, import, exportcreate, write, delete, import, exportread, report, print, email
Departmentcreate, write, delete, reportsama, ditambah import dan exporthanya select
Designationcreate, write (tanpa delete)create, write, delete—
Employment Typecreate, write, deletesama, ditambah import dan export—
Branchcreate, write, deletesama — tanpa import maupun export untuk kedua role—
Employee Gradecreate, write, delete, exportcreate, write, delete, export—
Employee Groupread, write (tanpa create)create, write, delete—
Employee Health Insuranceread, export (hanya baca)create, write, delete—
Employee Skill Mapcreate, write, report (tanpa delete)create, write, delete, export—
Employee Onboarding Templatecreate, write, report (tanpa delete)create, write, delete, export—
Employee Onboardingcreate, write, reportcreate, write, submit, cancel, amend—
HR Settingshanya bacabaca dan tulisbaca

Dua hal yang sering mengejutkan pengguna:

  • Seorang HR User bisa membuat draf Employee Onboarding tetapi tidak bisa men-submit-nya, sehingga tidak ada project maupun task yang muncul sampai seorang HR Manager melakukan submit.
  • Seorang HR User tidak bisa menambahkan penyedia asuransi kesehatan baru.

Empat role profile tersedia bawaan untuk penerapan di Indonesia, berdampingan dengan profile HR yang standar:

  • GTHR - HO — HR Manager, HR User, Leave Approver, Expense Approver
  • GTHR - SM — HR User, Leave Approver
  • GTHR - MR — HR User
  • GTHR - KG — Employee

Email pengingat yang dikirim GARP dengan sendirinya​

Semua pengingat berikut berjalan otomatis, membaca master Employee secara langsung, dan diaktifkan dari HR Settings, tab Employee, bagian Reminders.

PengingatFrekuensiApa yang dilakukannya
Ulang tahunHarianDengan Birthdays tercentang, mengirim email ke setiap karyawan Active di perusahaan itu tentang siapa saja yang Date of Birth-nya cocok dengan tanggal dan bulan hari ini. Yang berulang tahun tidak ikut menerima email bersama itu; bila beberapa orang berbagi tanggal yang sama, masing-masing mendapat pemberitahuan tentang yang lain
Hari jadi kerjaHarianSama, tetapi berdasarkan Date of Joining, dengan jumlah tahun yang telah dilalui di dalam isi pesan — subjeknya selalu Work Anniversary Reminder
Hari libur, mingguanMingguanDengan Holidays tercentang dan frequency Weekly, mengirimi setiap karyawan Active daftar hari libur non-mingguan dalam 7 hari ke depan
Hari libur, bulananBulananSama untuk sebulan ke depan, ketika frequency-nya Monthly

Alamat email mana yang dipakai masing-masing:

  • Email bersama untuk ulang tahun dan hari jadi kerja menentukan penerimanya dengan urutan User ID, lalu Company Email, lalu Personal Email.
  • Pengingat hari libur dan pemberitahuan bagi yang berbagi tanggal memakai urutan User ID, lalu Personal Email, lalu Company Email — urutan yang berbeda dari Preferred Email yang dipakai di tempat lain.

Dua hal lagi yang perlu Anda antisipasi:

  • Kedua pengingat harian itu melewatkan siapa pun yang tanggalnya jatuh pada tahun berjalan, sehingga orang yang baru bergabung tahun ini tidak menerima email hari jadi kerja pertamanya.
  • Mengubah frekuensi pengingat hari libur akan memperingatkan Anda pengingat mana yang jatuh di celah perubahan itu dan meminta konfirmasi.

Laporan​

Ada empat laporan yang membaca master Employee; Pengaturan dan laporan memuat daftarnya. Dua hal yang perlu diketahui di sini:

  • Employee Information adalah tampilan Report Builder. Sunting kolomnya lalu simpan sebagai laporan baru, daripada memfilter ulang setiap bulan.
  • Employee Analytics hanya menghitung karyawan Active, dan melewatkan siapa pun yang Parameter pilihannya (Branch, Grade, Department, Designation, atau Employment Type) kosong. Grade yang tidak terisi membuat seseorang hilang dari baris laporan — meski begitu diagram donatnya tetap menghitung orang tersebut, pada irisan Not Set.