Pusat panduan

Kerja di Staffy, dari awal sampai rekap.

Panduan praktis untuk anggota, manajer, dan admin. Mulai dari pengajuan sehari-hari hingga menghubungkan mesin absensi dan membaca hasilnya.

01 / Dasar

Mulai menggunakan

Masuk dengan akun yang dibuat atau undangan dari admin perusahaan. Menu yang terlihat mengikuti peran dan izin akun; jika suatu menu tidak muncul, minta admin memeriksa akses Anda.

  1. 1Masuk ke workspaceBuka halaman masuk dengan akun yang diberikan admin perusahaan.
  2. 2Kenali navigasiDashboard menampilkan ringkasan; Kotak Masuk dan Persetujuan membantu menemukan hal yang perlu ditindak. Modul operasional berada di menu samping.
  3. 3Atur tampilanDi Tampilan, pilih tema bawaan Staffy atau tema gelap. Pilihan ini berlaku untuk workspace Anda.

02 / Alur kerja

Apa yang dilakukan setiap hari?

  1. 1Ajukan kebutuhanBuat permintaan dari Pengajuan. Pilih jenis yang sesuai, isi rincian, lalu kirim.
  2. 2Tindak lanjutiPantau status di daftar pengajuan. Pemberi persetujuan membuka Persetujuan untuk memutuskan permintaan yang menjadi tanggung jawabnya.
  3. 3Kerjakan & catat hasilGunakan Pekerjaan atau Kanban untuk progres tugas. Modul pengadaan, inventaris, dan keuangan mencatat tahapan operasional berikutnya bila relevan.
  4. 4Tinjau laporanBuka Laporan untuk melihat aktivitas sesuai filter. Hasil yang tampil bergantung pada data dan izin akun.

03 / Modul

Fitur di workspace

Setiap modul menangani bagian berbeda dari pekerjaan perusahaan. Tautan berikut membuka halaman terkait setelah Anda masuk.

Pekerjaan & permintaan

Dashboard & Kotak MasukLihat ringkasan yang perlu perhatian; Kotak Masuk mengumpulkan aktivitas dan tindakan untuk akun Anda.
Pengajuan & PersetujuanBuat dan pantau permintaan operasional. Pihak yang berwenang meninjau lalu menyetujui atau menolak di Persetujuan.
Pekerjaan & KanbanKelola pekerjaan dan proyek, lalu gunakan tampilan Kanban untuk mengikuti progres tugas.

Operasional perusahaan

Inventaris & AsetCatat barang, aset, lokasi, dan stok. Pantau barang yang menipis sebelum menambah atau mengurangi stok.
PengadaanPantau proses pembelian dan pesanan pengadaan sesuai akses yang diberikan perusahaan.
KeuanganTinjau pembayaran tertunda, riwayat transaksi, dan anggaran; ekspor data bila diperlukan.
Laporan & AuditAnalisis aktivitas operasional dengan filter dan ekspor. Admin dapat meninjau jejak perubahan di Audit.
Hanya fitur yang diizinkan untuk peran Anda yang muncul di menu. Misalnya, pengaturan organisasi dan sumber presensi dikelola admin, sementara laporan tertentu memerlukan izin membaca laporan.

Panduan per proses

Buka proses yang ingin dikerjakan untuk melihat persiapan, urutan tindakan, dan hal yang perlu diperiksa jika proses terhenti.

Pengajuan & persetujuan: persiapan, langkah, dan kendala

Sebelum mulai. Admin menyiapkan jenis/kategori pengajuan dan pihak peninjau. Pemohon melengkapi rincian, nominal bila relevan, serta data pendukung yang diminta form.

  1. Buat pengajuan dan kirim. Baca pesan hasil penyimpanan: tersimpan sebagai draft belum berarti masuk antrean persetujuan.
  2. Pantau status dan catatan pada detail pengajuan. Pengajuan berstatus draft atau dikembalikan dapat dikirim kembali setelah diperbaiki.
  3. Peninjau membuka langkah persetujuan yang aktif. Hanya orang yang menjadi approver pada langkah tersebut yang dapat memutuskannya.
  4. Setelah disetujui, tindak lanjut mengikuti jenis pengajuan: pekerjaan, pengadaan, atau pembayaran. Persetujuan belum selalu berarti pelaksanaan selesai.

Jika terhenti. Jika pengiriman tersimpan sebagai draft, baca alasan yang ditampilkan lalu minta admin memeriksa konfigurasi terkait sebelum mengirim ulang. Jika langkah persetujuan sudah tidak aktif, muat ulang detail karena status mungkin telah berubah.

Pekerjaan & Kanban: persiapan, langkah, dan kendala

Sebelum mulai. Pastikan pekerjaan/proyek yang dimaksud tersedia dan akun memiliki akses ke pekerjaan tersebut.

  1. Buka Pekerjaan, pilih pekerjaan/proyek, lalu periksa penanggung jawab, tenggat, dan status.
  2. Gunakan daftar periksa untuk langkah pelaksanaan. Setiap langkah memerlukan judul; tandai sesuai pekerjaan yang benar-benar selesai.
  3. Pantau perpindahan status melalui Kanban dan diskusikan progres di komentar pada detail yang terkait.

Jika terhenti. Jika pekerjaan tidak ditemukan, periksa akses serta apakah item sudah dihapus. Komentar harus berisi teks; pengeditan komentar dibatasi pada komentar milik sendiri.

Inventaris & aset: persiapan, langkah, dan kendala

Sebelum mulai. Siapkan kategori, gudang/lokasi, dan satuan di Master Data. Bedakan stok barang inventaris dari catatan aset perusahaan.

  1. Tambahkan barang/aset dengan identitas dan referensi yang sesuai.
  2. Untuk stok, pilih barang yang benar lalu catat perubahan jumlah sesuai transaksi. Mutasi stok memerlukan jumlah lebih dari nol.
  3. Periksa stok akhir dan riwayat transaksi; pantau status menipis atau habis untuk merencanakan pengadaan.

Jika terhenti. Jika pilihan kategori/gudang/satuan belum ada, minta admin menambahkannya di Master Data lalu buka kembali form. Pesan Stok tidak berubah berarti jumlah baru sama dengan jumlah sebelumnya.

Pengadaan & penerimaan barang: persiapan, langkah, dan kendala

Sebelum mulai. Pengajuan perlu disetujui sebelum dibuatkan pesanan pengadaan. Pemroses dan penerima harus memiliki kewenangan pengadaan.

  1. Buka pesanan terkait pengajuan dan periksa item serta jumlah yang dipesan.
  2. Saat barang datang, catat penerimaan per item sesuai jumlah fisik yang benar-benar diterima.
  3. Periksa jumlah sudah diterima dan sisa pesanan. Penerimaan dapat dilakukan bertahap selama masih ada sisa.

Jika terhenti. Jumlah penerimaan harus lebih dari nol, item harus tercantum pada pesanan, dan total penerimaan tidak boleh melebihi pesanan. Pesanan dibatalkan atau sudah diterima penuh tidak dapat menerima barang lagi.

Keuangan & pembayaran: persiapan, langkah, dan kendala

Sebelum mulai. Akun memerlukan akses keuangan. Alur pembayaran kas/disbursement saat ini menerima pengajuan reimbursement yang sudah disetujui dan bernominal lebih dari Rp0.

  1. Buka daftar pembayaran tertunda, pilih pengajuan, dan cocokkan nominal serta bukti transaksi.
  2. Isi metode pembayaran dan rincian yang diminta, lalu proses pembayaran setelah transaksi benar-benar dilakukan.
  3. Periksa riwayat pembayaran. Gunakan tab anggaran untuk melihat alokasi, terpakai, pending, dan sisa.

Jika terhenti. Jika jenis atau status pengajuan tidak memenuhi syarat, selesaikan alur pengajuannya dahulu. Pesan pembayaran sudah pernah diproses berarti transaksi tersebut telah tercatat; periksa riwayat sebelum mencoba kembali.

Laporan & audit: persiapan, langkah, dan kendala

Sebelum mulai. Pastikan ada data operasional serta izin membaca laporan. Audit tersedia bagi admin sesuai kewenangannya.

  1. Pilih periode, departemen, jenis, dan status yang ingin dianalisis.
  2. Cocokkan ringkasan dengan daftar aktivitas di bawahnya. Filter yang sempit dapat membuat hasil kosong walaupun perusahaan memiliki data lain.
  3. Pilih ekspor dari halaman terkait. Untuk menelusuri perubahan, admin memeriksa log Audit.

Jika terhenti. Jika angka terasa tidak sesuai, mulai dari periode serta filter, kemudian periksa status data sumbernya. Laporan operasional dan rekap presensi merupakan laporan berbeda; gunakan ekspor dari halaman yang sesuai.

04 / Kehadiran

Presensi, koreksi, dan cuti

Presensi Saya menampilkan catatan kehadiran pribadi dan pengajuan cuti atau izin. Bila jam masuk, jam keluar, atau status tidak sesuai, ajukan koreksi dari halaman ini agar pihak yang berwenang dapat meninjaunya.

Presensi Tim digunakan untuk melihat kehadiran anggota tim serta memproses permintaan terkait presensi dan cuti sesuai izin. Rekap Kehadiran menyediakan filter tanggal, departemen, status, pencarian karyawan, dan ekspor.

Admin dapat mengatur jadwal kerja, status kehadiran, aturan otomatis, alur persetujuan, jenis cuti, dan kuota karyawan di Master Data → Presensi & Kehadiran. Manajemen Cuti memberi tampilan kalender dan pengelolaan alokasi cuti untuk pihak yang memiliki akses.

Rekap tidak muncul hanya karena akun karyawan sudah dibuat. Agar log dari mesin dikenali, admin perlu menghubungkan Employee ID perangkat ke akun yang benar dan memastikan ada peristiwa absensi yang valid.

Presensi melewati empat tahap: mesin mencatat kejadian → sumber menerima log → Employee ID dihubungkan ke akun → sistem menghitung rekap. Berhasil pada satu tahap belum berarti tahap berikutnya sudah selesai.

Sebelum absen pertama: checklist admin

  1. Buat akun karyawan. Buka Organisasi, buat akun langsung atau selesaikan undangan. Pastikan orang tersebut sudah tercatat di perusahaan yang benar. Mendaftarkan orang di mesin tidak otomatis membuat akun Staffy.
  2. Daftarkan orang di mesin. Catat Employee ID/PIN yang benar. Simpan ID sebagai teks: 001 dan 1 dapat dianggap berbeda. Nama yang sama tidak digunakan untuk mencocokkan dua akun secara otomatis.
  3. Siapkan jadwal. Di Jadwal Kerja, buat jadwal utama perusahaan. Jika sebagian karyawan bekerja sampai Sabtu, buat jadwal lain lalu pilih mereka di Penugasan Karyawan. Tentukan tanggal mulai berlaku; karyawan tanpa jadwal khusus mengikuti jadwal utama.
  4. Tambahkan sumber. Buka Sumber Data Presensi, klik Tambah Sumber Presensi, lalu pilih Hikvision, REST API, Webhook, atau impor file sesuai cara perangkat menyediakan log.
  5. Hubungkan ID ke akun. Di Pemetaan Karyawan, pilih sumber, isi ID mesin, lalu pilih pengguna dan simpan. Gunakan sumber tertentu bila beberapa mesin memiliki PIN yang sama untuk orang berbeda.
  6. Lakukan absensi dan terima log. Lakukan percobaan masuk serta keluar. Tarik log untuk API, jalankan pengirim untuk webhook, atau impor file. Baca jumlah log baru, duplikat, dan yang perlu mapping.
  7. Periksa hasil. Buka Rekap Kehadiran; pilih tanggal percobaan, semua status, dan departemen yang sesuai. Cocokkan orang, jam masuk, jam keluar, dan jadwal.
Jangan lewatkan jadwal kerja. Jika jadwal utama dan kebijakan aktif belum tersedia, perhitungan memakai bawaan Senin–Jumat, 07.30–16.30, toleransi 15 menit, istirahat 12.00–13.00, zona Asia/Jakarta. Data tetap dapat dihitung, tetapi hasil terlambat dan durasinya bisa tidak sesuai aturan kantor.

Hikvision HTTP Listening: event langsung ke server

  1. Di Sumber Data Presensi, tambahkan sumber dengan metode Hikvision — kirim event via HTTP Listening, lalu simpan. Sumber ISAPI yang sudah ada tetap dapat dipakai untuk tarik log.
  2. Isi alamat server yang dapat dijangkau perangkat. Untuk hosting gunakan domain HTTPS; untuk localhost gunakan IP LAN komputer beserta port aplikasi, bukan localhost atau IP mesin fingerprint.
  3. Salin empat nilai dari form ke menu HTTP Listening di Hikvision: Event Alarm IP/Domain Name, URL, Port, dan Protocol. URL mengandung token rahasia; jangan bagikan. Ganti URL rahasia di aplikasi jika bocor, lalu perbarui perangkat.
  4. Simpan di perangkat, lakukan absen, lalu klik Cek penerimaan. Heartbeat atau alarm pintu hanya membuktikan adanya kiriman, belum menjadi log presensi. Format yang diterima adalah EventNotificationAlert JSON/XML atau metadata multipart. Foto tidak disimpan; nonaktifkan pengiriman foto jika ukuran kiriman melebihi 4 MB.
  5. Di Pemetaan Karyawan pilih sumber HTTP Listening yang baru dan hubungkan Employee ID. Pemetaan khusus sumber ISAPI tidak otomatis berlaku pada sumber baru. Log tanpa pemetaan disimpan sampai ID dihubungkan.
  6. Pengiriman ulang saat internet terputus bergantung pada firmware perangkat. Tarik riwayat melalui ISAPI hanya dapat dilakukan jika server masih bisa menjangkau perangkat. HTTP Listening tidak memberi bukti kelengkapan tarikan, sehingga sumber ini belum menghasilkan Alpa otomatis dari ketiadaan log.

Contoh: menghubungkan dua karyawan

Misalnya sumber bernama Kantor Utama memiliki Andi dengan Employee ID 1 dan Budi dengan ID 2. Buat kedua akun di Organisasi, lalu pasangkan Kantor Utama + 1 ke Andi dan Kantor Utama + 2 ke Budi. Jika hanya Andi yang melakukan absen, keberadaan mapping Budi tidak membuat log absensi Budi.

Sumber dan akun harus berada pada tenant/perusahaan yang sama. ID 1 dari perusahaan lain tidak ikut dipasangkan. Saat mapping disimpan, sistem mencoba memproses ulang log berstatus UNMAPPED yang sesuai; muat ulang rekap sesudahnya.

Memahami jam dan hasil rekap

  • Untuk log bertipe masuk/keluar, sistem mengambil masuk paling awal dan keluar paling akhir pada hari tersebut. Untuk log tanpa jenis yang dikenali, kejadian pertama dipakai sebagai masuk dan kejadian berikutnya sebagai keluar.
  • Satu kali scan belum cukup untuk menghitung durasi masuk–keluar. Periksa log pulang sebelum menganggap durasi kosong sebagai error.
  • Tanpa aturan Terlambat aktif, keterlambatan mengikuti jadwal dan toleransi. Contoh: mulai 07.30, toleransi 15 menit, masuk 08.00 → terlambat 30 menit. Bila ada aturan Terlambat aktif, aturan itu menggantikan batas bawaan: masuk setelah 09.00 → masuk 09.20 dihitung telat 20 menit.
  • Durasi dihitung dari selisih keluar–masuk. Hanya bagian waktu yang benar-benar beririsan dengan istirahat yang dikurangi. Dua log berselisih 21 menit di luar jam istirahat menghasilkan durasi 21 menit.
  • Waktu yang sudah membawa offset, misalnya 2026-10-09T08:00:00+07:00, mengikuti offset itu. Mengganti zona pada form tidak menulis ulang timestamp log lama.
  • Jadwal kerja menggunakan WIB (Asia/Jakarta), dengan toleransi yang dapat diatur per jadwal. Jam pulang harus setelah jam masuk; shift lintas tengah malam belum didukung.

Aturan otomatis dan perubahan rekap

Atur kondisi masuk/keluar, sebelum/setelah/tepat jam, atau tidak ada presensi masuk/keluar. Semua kondisi dalam satu aturan harus terpenuhi. Aturan aktif diperiksa dari atas ke bawah; aturan pertama yang cocok menentukan status. Status cuti/izin/dinas yang sudah ditentukan, hari libur, dan koreksi yang disetujui tetap dilindungi.

Uji Aturan memakai evaluator dan jadwal yang sama dengan proses log, tanpa menyimpan rekap. Setelah aturan disimpan, log berikutnya memakai aturan baru. Rekap lama tidak langsung berubah: untuk log API Hikvision gunakan Proses Ulang Data pada tanggal akhir filter yang sesuai. Simulator belum memuat cuti atau koreksi milik karyawan tertentu.

Jadwal karyawan dan Alpa otomatis

  1. Buka Jadwal Kerja → Penugasan Karyawan. Cari nama atau filter departemen, centang karyawan, lalu Atur karyawan. Pilih jadwal dan tanggal mulai berlaku. Pilihan “Utama” mengembalikan karyawan ke jadwal perusahaan.
  2. Untuk mengganti penugasan mendatang, pilih karyawan dan tanggal yang sama. Penugasan pada tanggal lain tetap tersimpan. Penugasan mulai hari ini memperbarui rekap hari ini yang sudah ada; rekap sebelumnya tidak dipindahkan ke jadwal baru.
  3. Di Edit jadwal, aktifkan Evaluasi Alpa otomatis bila diperlukan. Jadwal lama tetap nonaktif sampai admin mengaktifkannya. Hanya karyawan aktif yang sudah memiliki Pemetaan Karyawan yang dievaluasi; akun lain tidak dibuatkan Alpa.
  4. Setelah jam pulang ditambah jeda (bawaan 30 menit), satu presensi menjadi Tidak Lengkap. Selama hari masih berjalan, tampil Sedang berjalan atau Terlambat. Log masuk/keluar yang datang kemudian menghitung ulang rekap.
  5. Alpa tanpa log hanya dibuat jika semua sumber API karyawan berhasil menarik rentang dari awal hari sampai batas evaluasi. Sinkronisasi gagal atau belum lengkap menunda Alpa. CSV dan webhook/bridge tidak memiliki bukti kelengkapan tarikan, sehingga tidak menyimpulkan Alpa otomatis dari ketiadaan log.
  6. Hari di luar jadwal dan tanggal libur khusus tidak dinilai Alpa. Tambahkan libur nasional/perusahaan secara manual pada jadwal; kalender libur nasional belum diisi otomatis. Cuti, izin, dinas yang disetujui dan koreksi admin tetap dilindungi.

Evaluasi berjalan bertahap sekitar 5 menit melalui penjadwal server dan memeriksa 7 hari terakhir, paling awal sejak fitur diaktifkan serta karyawan dipetakan. Server harus tetap menyala; deployment serverless memerlukan cron. Perubahan isi jadwal dipakai saat rekap diproses ulang. Aturan Terlambat dengan jam tertentu masih didahulukan dari batas jadwal.

Koreksi, izin, dan cuti

  1. Di Presensi Saya, pilih catatan yang ingin dikoreksi, isi perubahan jam/status dan alasan, lalu ajukan. Koreksi memerlukan catatan presensi yang sudah ada; bila belum ada log, selesaikan pengambilan dan mapping terlebih dahulu.
  2. Untuk cuti/izin, pilih jenis, tanggal mulai–selesai, dan lengkapi form pengajuan. Pisahkan pengajuan yang melewati pergantian tahun.
  3. HR/Admin menyiapkan jenis cuti dan kuota untuk karyawan, jenis cuti, serta tahun yang sesuai melalui Manajemen Cuti. Cuti tahunan, cuti besar, dan jenis berkuota memerlukan alokasi terlebih dahulu.
  4. Pihak peninjau memproses pengajuan sesuai alur persetujuan. Menyimpan konfigurasi alur staff atau manager memerlukan minimal satu peninjau pada masing-masing alur.

Saldo tersedia = alokasi − terpakai − pending. Contoh: alokasi 12 hari, terpakai 3, pending 2 → tersedia 7 hari. Pengajuan yang masih menunggu sudah mengurangi saldo tersedia; cek pengajuan sebelumnya bila saldo terlihat kurang.

05 / Panduan admin

Hubungkan mesin absensi

Di Master Data → Presensi & Kehadiran → Sumber Data Presensi, admin memilih cara data masuk. Pilih metode berdasarkan kemampuan perangkat dan jaringan, bukan sekadar mereknya.

MetodeCocok ketikaYang dilakukan
Hikvision ISAPIServer dapat menjangkau IP mesin dan API perangkat aktif.Isi alamat serta kredensial, tes koneksi nyata, lalu tarik log.
REST APIPerangkat atau layanan menyediakan endpoint log melalui HTTP(S).Atur endpoint, autentikasi, dan pemetaan respons; tes endpoint sebelum menarik log.
WebhookSistem lain dapat mengirim peristiwa presensi ke Staffy.Buat sumber, salin alamat dan token, lalu konfigurasikan pengirimnya.
Impor fileLog tersedia sebagai CSV, TSV, TXT, atau XLSX.Unggah file dan cocokkan kolom ID, waktu, serta jenis peristiwa.
  1. 1Buat sumber dan ujiUntuk koneksi langsung, tombol Tes koneksi nyata menghubungi endpoint dan memeriksa respons. Tarik log tersedia setelah konfigurasi baru lulus tes. Uji yang berhasil belum berarti sudah ada log absensi.
  2. 2Tarik atau kirim logPilih rentang waktu sesuai peristiwa yang ingin diambil. Untuk webhook, log datang dari sistem pengirim; untuk impor, unggah file berisi catatan per kejadian.
  3. 3Petakan karyawanDi Pemetaan Karyawan, cocokkan Employee ID/PIN di mesin dengan akun Staffy di perusahaan yang tepat. ID 1 pada mesin harus dipasangkan ke akun orang yang memiliki ID tersebut, bukan berdasarkan nama yang tampak mirip.
  4. 4Periksa rekapBuka Rekap Kehadiran dengan tanggal yang mencakup log. Menyimpan mapping mencoba memproses log UNMAPPED terkait. Muat ulang hasil dan periksa batas Proses Ulang Data yang dijelaskan di bawah.
Jika Staffy berjalan di cloud sementara mesin hanya punya IP kantor: cloud tidak dapat langsung mengakses IP privat seperti 192.168.x.x. Untuk Hikvision, buat sumber Webhook lalu gunakan paket penghubung lokal yang tersedia di modal sumber; komputer kantor harus tetap menyala dan terhubung ke mesin serta internet. Metode REST hanya bekerja bila endpoint benar-benar tersedia dan dapat diakses.

Peristiwa dari mesin dapat berupa akses pintu, status perangkat, atau kejadian lain. Hanya event yang dikenali sebagai presensi dan memiliki ID karyawan yang sesuai yang akan membentuk catatan kehadiran. Angka “event non-presensi dilewati” bukan kesalahan mapping.

Hikvision / REST: tes, simpan, lalu tarik

  1. Isi nama sumber dan URL lengkap dengan http:// atau https://. Hikvision memakai alamat dasar mesin; REST memakai endpoint JSON log, bukan halaman login perangkat.
  2. Isi akun perangkat pada kolom terpisah. Untuk REST, pilih autentikasi yang diminta penyedia API. Akun web Staffy tidak otomatis menjadi akun mesin.
  3. Klik Tes koneksi nyata. Tes membaca sampel dalam 24 jam terakhir, tanpa menyimpan log dan tanpa memeriksa mapping karyawan. Hasil tanpa event tetap dapat berarti koneksi berhasil.
  4. Setelah tes konfigurasi baru berhasil, bagian Tarik log muncul dalam modal yang sama. Pilih rentang maksimal 7 hari. Rentang pada form tarik log diberi label UTC; WIB = UTC+7. Pukul 08.00 WIB setara 01.00 UTC.
  5. Klik Tarik log. Untuk sumber baru, konfigurasi disimpan sebelum pengambilan. Membuat sumber saja tidak mengaktifkan polling berkala; pengambilan API langsung berjalan saat tombol ditekan.

REST harus menyediakan array objek log atau jalur array yang dikonfigurasi. Jika respons berupa { data: { events: [...] } }, jalur arraynya data.events. Cocokkan field ID karyawan, waktu, dan jenis event. Pagination generik saat ini memakai nextCursor; API dengan format berbeda memerlukan penyesuaian/penghubung.

Webhook / penghubung lokal

  1. Pilih Webhook lalu simpan sumber untuk mendapatkan URL dan token. Salin token saat ditampilkan; token tidak diperlihatkan lagi setelah modal ditutup.
  2. Untuk Hikvision di jaringan kantor, unduh paket penghubung dari modal, ekstrak pada komputer kantor, lalu jalankan Mulai-Penghubung.cmd. Komputer memerlukan Node.js 22.18+.
  3. Isi IP serta akun perangkat, URL webhook, dan token di penghubung. Komputer harus dapat menjangkau mesin dan internet, serta tetap menyala bersama jendela penghubung.
  4. Klik Perbarui status untuk melihat kabar terakhir penghubung. Status aktif menunjukkan penghubung menghubungi server; tetap periksa bahwa log dan rekap benar-benar bertambah.

Pengirim khusus mengirim JSON ke URL webhook dengan header Authorization: Bearer TOKEN. Gunakan satu objek atau { events: [...] } berisi maksimal 100 log. Contoh satu kejadian:

{
  "employeeIdentifier": "001",
  "timestamp": "2026-10-09T08:00:00+07:00",
  "eventType": "CHECK_IN",
  "externalEventId": "kantor-utama-00001"
}

Gunakan CHECK_OUT untuk keluar dan ID kejadian yang stabil agar kiriman ulang dikenali sebagai duplikat. Bila token diganti, perbarui token pada pengirim juga. Dukungan webhook tidak berarti protokol bawaan setiap merek, seperti ADMS/PUSH, otomatis kompatibel; pengirim harus mengikuti format yang diterima.

Impor file: siapkan log per kejadian

Gunakan CSV, TSV, TXT, atau XLSX, maksimal 5 MB dan 1.000 baris data per impor. XLS lama perlu disimpan ulang menjadi XLSX/CSV. Untuk XLSX, sistem membaca sheet pertama. Header kolom harus terisi dan unik.

employeeIdentifier,timestamp,eventType
001,2026-10-09T08:00:00+07:00,CHECK_IN
001,2026-10-09T17:00:00+07:00,CHECK_OUT

Cocokkan kolom pada form, periksa pratinjau, lalu simpan dan impor. Ekspor ringkasan mesin seperti “total hari hadir, terlambat, jam kerja” bukan pengganti log per kejadian. Simpan PIN sebagai teks di spreadsheet agar nol di depan tidak hilang.

Arti hasil tarik log

Log baru
Event baru berhasil disimpan. Lihat juga jumlah yang perlu mapping; tersimpan belum selalu berarti sudah menjadi rekap karyawan.
Duplikat
Event sudah pernah diterima dari sumber yang sama. Mengulang rentang pengambilan dapat menghasilkan duplikat; sistem melewatinya.
Perlu mapping karyawan
Log diterima, tetapi ID mesin belum terhubung. Buat akun bila belum ada, lalu simpan Pemetaan Karyawan untuk sumber dan ID tersebut.
Event non-presensi dilewati
Event perangkat tidak memenuhi kriteria log presensi. Contoh hasil 0 baru, 0 duplikat, 0 perlu mapping, 2 dilewati berarti dua event dilewati sebelum tahap mapping.
Tarik log berbeda dengan Proses Ulang Data. Tarik log membaca mesin/API. Proses Ulang Data menghitung kembali log yang sudah tersimpan hanya untuk tanggal pada filter Sampai Tanggal, bukan seluruh rentang filter. Implementasi tombol rekap saat ini khusus sumber API dengan provider Hikvision ISAPI dan karyawan aktif yang memiliki log terkait; belum menjadi proses ulang umum untuk REST, webhook, atau impor file.

06 / Diagnostik presensi

Pesan yang muncul dan cara menanganinya

Cari pesan atau kondisi yang paling sesuai. Kondisi belum ada data sering berarti setup belum lengkap; ikuti langkah perbaikannya sebelum mengulang impor atau membuat sumber baru.

Belum menambahkan sumber / sumber tidak ditemukan

Penyebab yang perlu diperiksa. Belum ada sumber tersimpan, sumber sudah dihapus, atau Anda membuka perusahaan yang berbeda.

Langkah berikutnya. Admin membuka Master Data → Presensi & Kehadiran → Sumber Data Presensi, menambahkan dan menyimpan sumber, lalu membukanya kembali. Pastikan sumber aktif sebelum mengirim atau menarik log.

Pengguna tidak ditemukan di Pemetaan Karyawan

Penyebab yang perlu diperiksa. Orang sudah terdaftar di mesin, tetapi akun Staffy belum ada atau berada di tenant lain.

Langkah berikutnya. Buat akun di Organisasi atau selesaikan undangan, pastikan nama sudah muncul di daftar anggota perusahaan, lalu buka kembali pemetaan. Pilih sumber, isi Employee ID persis dari mesin, dan pilih akun itu.

Nama sumber / alamat perangkat wajib diisi; isi akun perangkat Hikvision

Penyebab yang perlu diperiksa. Form konfigurasi sumber belum lengkap.

Langkah berikutnya. Isi nama sumber, URL lengkap, serta username dan password perangkat. Kredensial diisi pada kolomnya sendiri, bukan di dalam URL. Jika mapping khusus diaktifkan, lengkapi field ID, waktu, dan jenis event.

Alamat belum diizinkan melalui ATTENDANCE_ALLOWED_ORIGINS

Penyebab yang perlu diperiksa. Server membatasi alamat tujuan koneksi langsung. Kemampuan membuka IP dari browser kantor tidak memberikan izin kepada server.

Langkah berikutnya. Minta pengelola server mengizinkan origin yang tepat, termasuk protokol dan port. Untuk mesin di LAN dengan aplikasi cloud, gunakan penghubung lokal melalui Webhook. Admin tenant tidak mengubah environment server dari form sumber.

HTTP 400 / 401 / 403 atau ISAPI menolak pencarian log

Penyebab yang perlu diperiksa. Perangkat menolak permintaan; dapat terkait endpoint, kredensial, izin API akun, firmware, atau dukungan model. HTTP 400 saja tidak membuktikan password salah.

Langkah berikutnya. Periksa alamat, metode integrasi, akun perangkat, hak membaca log, dan dukungan ISAPI/API bersama admin perangkat. Catat HTTP status dan pesan perangkat saat meminta bantuan.

Respons bukan JSON / daftar log tidak ditemukan

Penyebab yang perlu diperiksa. URL mengarah ke halaman web/login atau format respons tidak cocok dengan jalur array yang diatur.

Langkah berikutnya. Gunakan endpoint log yang benar. Untuk REST, cocokkan jalur array dan nama field dengan respons penyedia API. Jangan mengisi URL dashboard vendor sebagai endpoint log.

Koneksi berhasil, tetapi tidak ada event / sampel belum memenuhi syarat presensi

Penyebab yang perlu diperiksa. Tes hanya memeriksa sampel 24 jam terakhir. Event yang ada dapat berupa kejadian perangkat selain absensi.

Langkah berikutnya. Lakukan scan absensi yang valid, lalu tarik rentang yang mencakup kejadian itu. Untuk Hikvision, sertakan kode major/minor dari pesan bila tetap tidak dikenali. Belum adanya sampel presensi bukan bukti mapping karyawan salah.

UNMAPPED / perlu mapping karyawan

Penyebab yang perlu diperiksa. ID pada log belum bisa dicocokkan ke akun perusahaan.

Langkah berikutnya. Cocokkan sumber dan ID, termasuk nol di depan. Simpan mapping ke akun yang benar; sistem mencoba memproses log UNMAPPED terkait. Muat ulang rekap dan cek tanggalnya.

Sumber Hikvision belum tersedia untuk organisasi ini

Penyebab yang perlu diperiksa. Tombol Proses Ulang Data tidak menemukan sumber API Hikvision ISAPI. Sumber Webhook, termasuk webhook penghubung Hikvision, bukan sumber API Hikvision untuk tombol ini.

Langkah berikutnya. Jika memakai koneksi API Hikvision, pastikan sumber itu tersimpan di perusahaan saat ini. Jika memakai metode lain, periksa hasil penerimaan/impor dan mapping; jangan membuat sumber Hikvision palsu hanya untuk menghilangkan pesan ini.

Rekap kosong walau sumber berstatus Sudah menerima log

Penyebab yang perlu diperiksa. Status sumber menunjukkan penerimaan log, tetapi belum memastikan ID sudah terhubung dan filter rekap mencakup catatan tersebut.

Langkah berikutnya. Periksa hasil tarik/impor, mapping akun, lalu tanggal, departemen, pencarian, dan status pada rekap. Untuk karyawan yang tidak pernah melakukan scan, akun serta mapping saja tidak menghasilkan log.

Jam berbeda / terlambat berbeda / durasi kosong

Penyebab yang perlu diperiksa. Offset log, jadwal aplikasi, atau pasangan masuk–keluar mungkin berbeda dari data atau aturan pada mesin.

Langkah berikutnya. Bandingkan timestamp mentah beserta offset, jadwal utama, dan kedua jenis event. Timestamp ber-offset mengikuti offset tersebut. Jangan menghapus log sebagai langkah pertama; catat sumber dan tanggal untuk pemeriksaan admin. Proses ulang tidak memperbaiki timestamp mentah yang salah.

Belum ada alokasi saldo / saldo cuti tidak mencukupi

Penyebab yang perlu diperiksa. Belum ada kuota untuk kombinasi karyawan, jenis cuti, dan tahun; atau saldo tersedia sudah berkurang oleh pemakaian dan pengajuan pending.

Langkah berikutnya. HR/Admin mengalokasikan kuota pada tahun dan jenis yang benar. Cek terpakai serta pending sebelum mengajukan ulang. Mengatur default kuota pada jenis cuti belum sama dengan mengalokasikannya ke setiap karyawan.

Sudah memiliki pengajuan cuti pada tanggal tersebut / melewati pergantian tahun

Penyebab yang perlu diperiksa. Tanggal bertumpang tindih dengan pengajuan dalam proses/disetujui, atau satu pengajuan melintasi dua tahun.

Langkah berikutnya. Periksa pengajuan sebelumnya dan ubah tanggal bila perlu. Untuk rentang Desember–Januari, buat pengajuan terpisah per tahun dengan kuota masing-masing tahun.

Rentang maksimal 7 hari / batas waktu / pagination tidak lengkap

Penyebab yang perlu diperiksa. Rentang pengambilan terlalu besar, perangkat lambat, atau pagination tidak sesuai.

Langkah berikutnya. Persempit rentang dan ulangi. Sebagian log dapat sudah tersimpan sebelum error; baca jumlah yang dilaporkan. Kiriman ulang yang sama dikenali sebagai duplikat. Format pagination REST yang tidak didukung perlu penyesuaian oleh pengelola integrasi.

Penghubung tidak aktif / Unauthorized webhook signature or secret

Penyebab yang perlu diperiksa. Penghubung berhenti, jaringan terputus, atau token pengirim tidak cocok dengan sumber.

Langkah berikutnya. Periksa komputer kantor, jendela penghubung, internet, URL webhook, dan token. Jika token baru dibuat ulang, ganti token pada pengirim lalu perbarui status di modal sumber.

File terlalu besar / header kosong atau duplikat / baris tidak lengkap

Penyebab yang perlu diperiksa. File tidak memenuhi batas impor atau tidak berisi ID serta timestamp per kejadian.

Langkah berikutnya. Gunakan maksimal 5 MB dan 1.000 baris data, header unik, serta sheet pertama untuk XLSX. Cocokkan kolom pada pratinjau dan gunakan waktu lengkap. Ekspor log mentah dari perangkat, bukan laporan total kehadiran.

Jika masih gagal, kirim kepada admin: pesan lengkap, nama sumber/metode, tanggal dan rentang pengambilan, Employee ID, hasil jumlah log, serta waktu log beserta offset. Jangan sertakan password atau token. Informasi ini membantu membedakan masalah koneksi, format log, mapping, dan perhitungan.

07 / Administrasi tenant

Siapkan perusahaan dan akses

Admin perusahaan mengelola anggota dari Organisasi: buat akun langsung atau undang anggota, lalu atur akses yang diperlukan. Akun karyawan dan ID mesin adalah dua hal berbeda; setelah akun dibuat, lakukan mapping di Sumber Data Presensi bila memakai mesin absensi.

Master Data memuat data referensi seperti divisi, jabatan, kategori pengajuan dan inventaris, gudang, satuan, pengaturan presensi, serta keuangan. Isi data dasar ini sebelum tim memakai proses yang bergantung padanya.

Di Pengaturan, admin dapat meninjau informasi tenant, notifikasi, keamanan, dan paket/tagihan. Tampilan mengatur tema workspace untuk masing-masing pengguna.

08 / Admin platform

Pengelolaan SaaS

Bagian ini hanya untuk admin platform, bukan admin perusahaan. Ringkasan Platform menampilkan gambaran operasional; Tenant Perusahaan untuk melihat dan mengelola tenant; Langganan & Tagihan untuk urusan paket dan invoice.

Pengumuman sistem, admin platform, audit, dan pengaturan platform tersedia di menu platform sesuai kewenangan. Data tiap tenant tetap dikelola dalam workspace perusahaannya masing-masing.

09 / Bantuan umum

Jika data tidak terlihat

Menu tidak ada

Periksa peran dan izin akun bersama admin perusahaan. Tidak semua modul terbuka untuk setiap anggota.

Tes koneksi mesin berhasil, tetapi rekap kosong

Periksa tanggal log, jenis event yang diterima, mapping Employee ID, dan filter rekap. Tes koneksi membuktikan endpoint merespons, bukan bahwa karyawan sudah absen.

Satu karyawan muncul, yang lain belum

Periksa apakah kedua orang benar-benar melakukan absensi pada rentang tanggal yang dipilih. Akun dan mapping saja tidak membuat catatan kehadiran.

Jam di mesin dan web berbeda

Periksa offset timestamp mentah dan jadwal perhitungan. Mengubah zona waktu profil atau memproses ulang tidak memperbaiki timestamp mentah yang salah. Lihat bagian Error & kendala presensi untuk langkah pemeriksaannya.

IP mesin bisa dibuka di browser kantor, tetapi koneksi gagal

Pastikan server Staffy juga dapat menjangkau IP tersebut, kredensial API benar, dan perangkat mendukung endpoint yang dipilih. Akses browser dari komputer Anda tidak membuktikan akses dari server.

Untuk investigasi, catat sumber data, rentang tanggal, Employee ID perangkat, serta pesan hasil tes atau tarik log. Hindari membagikan kata sandi perangkat dan token webhook.