Halaman ini sudah berlaku, tetapi satu keputusan organisasinya belum ditetapkan. Bagian
yang belum ditetapkan ditandaiTBD-ORGpada Referensi Field Allow Sign-Out-Only
Attendance di bawah. Sampai ditetapkan, jalankan Instruksi Kerja seperti tertulis dan
tanyakan bagian bertanda itu kepada atasan langsung Anda. Daftar lengkap yang masih
menunggu: issue berlabeltbd-org.
Model: attendance_machine_csv_mapping
Menu: Human Resource > Configuration > Attendance Machine > CSV Mappings
Attendance Machine CSV Mapping adalah master data yang menentukan dialek berkas (format
CSV/Excel, delimiter, encoding) dan pemetaan kolom yang dipakai saat mengimpor data
kehadiran dari mesin kehadiran fisik. Satu Mesin Kehadiran menunjuk tepat satu CSV Mapping;
CSV Mapping itulah yang menentukan cara berkas ekspor mesin tersebut dibaca pada
Attendance Machine Import.
Per 2026-09-25, tiga CSV Mapping hidup di Odoo YPII:
| CSV Mapping | Row Mode | Allow Sign-Out-Only Attendance |
|---|---|---|
| Presensi Cabang YPII Semarang | Single Row | — (opsi hanya berlaku pada Separate Rows) |
| Presensi Marsudi Utami (NIK) | Single Row | — (opsi hanya berlaku pada Separate Rows) |
| Presensi Cabang YPII Bandung | Separate Rows | Dicentang |
Daftar dan status ini adalah keadaan konfigurasi saat ini, bukan aturan tetap — CSV Mapping
baru dapat didaftarkan sewaktu-waktu lewat
Membuat Attendance Machine CSV Mapping,
dan opsi Allow Sign-Out-Only Attendance pada CSV Mapping mana pun dapat diaktifkan atau
dinonaktifkan kapan saja oleh anggota grup yang berwenang.
Nama CSV Mapping, biasanya nama cabang/sekolah pemilik mesin kehadiran yang dipetakan.
Nilai Default: (kosong)
Wajib Diisi: Ya
Dapat Dirubah: Ya
Kode unik CSV Mapping.
Nilai Default: (kosong)
Wajib Diisi: Ya
Dapat Dirubah: Ya. Tombol Generate Code tersedia pada form, tetapi Odoo YPII belum
memasang Template Penomoran untuk CSV Mapping sehingga tombol ini tidak mengisi kode apa
pun — kode diisi manual.
Status aktif CSV Mapping. CSV Mapping nonaktif tidak dapat dipilih saat membuat/mengubah
Mesin Kehadiran baru, tetapi Mesin Kehadiran yang sudah memakainya tetap dapat dilihat.
Nilai Default: Aktif
Wajib Diisi: N/A
Dapat Dirubah: Ya, lewat toggle Active pada form.
Format berkas kehadiran yang akan dibaca, pada tab File Format. Pilihan: CSV /
Delimited Text atau Excel (.xls / .xlsx). Pilihan ini menentukan field mana pada tab
yang sama yang ditampilkan.
Nilai Default: (kosong, wajib dipilih)
Wajib Diisi: Ya
Dapat Dirubah: Ya
Nomor urut lembar kerja (dimulai dari 0) yang dibaca. Hanya tampil bila File Format =
Excel (.xls / .xlsx).
Nilai Default: 0
Wajib Diisi: Tidak
Dapat Dirubah: Ya
Encoding karakter berkas kehadiran. Hanya tampil bila File Format = CSV / Delimited
Text. Pilihan: UTF-8, UTF-8 (with BOM), UTF-16, UTF-16 (with BOM),
Western (Windows-1252), Western (Latin-1 / ISO 8859-1).
Nilai Default: (kosong)
Wajib Diisi: Tidak
Dapat Dirubah: Ya
Karakter pemisah kolom pada berkas CSV. Hanya tampil bila File Format = CSV /
Delimited Text. Pilihan: comma (,), semicolon (, tab, pipe (|),
space.
Nilai Default: (kosong)
Wajib Diisi: Tidak
Dapat Dirubah: Ya
Karakter yang membungkus nilai kolom yang mengandung karakter khusus pada berkas CSV. Hanya
tampil bila File Format = CSV / Delimited Text.
Nilai Default: "
Wajib Diisi: Tidak
Dapat Dirubah: Ya
Ditandai bila berkas tidak memiliki baris judul kolom. Bila ditandai, kolom pada CSV Mapping
ini dirujuk lewat nomor indeks (dimulai dari 0), bukan nama kolom.
Nilai Default: Tidak ditandai
Wajib Diisi: Tidak
Dapat Dirubah: Ya
Ditandai agar baris kosong pada berkas dilewati saat pembacaan.
Nilai Default: Ditandai
Wajib Diisi: Tidak
Dapat Dirubah: Ya
Jumlah baris yang dilewati dari atas berkas sebelum mulai dibaca.
Nilai Default: 0
Wajib Diisi: Tidak
Dapat Dirubah: Ya
Jumlah kolom yang dilewati dari kiri berkas sebelum mulai dibaca.
Nilai Default: 0
Wajib Diisi: Tidak
Dapat Dirubah: Ya
Menentukan cara data check-in dan check-out tersimpan pada berkas, pada tab Column
Mapping. Pilihan: Single Row (check-in and check-out in the same row) — satu baris
memuat check-in dan check-out sekaligus, atau Separate Rows (check-in and check-out in
different rows) — check-in dan check-out tercatat sebagai baris terpisah.
Row Mode adalah field kunci pada CSV Mapping: pilihan ini menentukan kolom pemetaan
check-in/check-out mana yang tampil pada form, dan opsi Allow Sign-Out-Only Attendance
di bawah hanya tampil dan hanya berlaku bila Row Mode = Separate Rows.
Nilai Default: (kosong, wajib dipilih)
Wajib Diisi: Ya
Dapat Dirubah: Ya
Menentukan cara tanggal dan waktu tersimpan pada berkas. Pilihan: Combined (date and time
in one field) — satu kolom memuat tanggal dan waktu sekaligus, atau Separate (date and
time in different fields) — tanggal dan waktu berada pada kolom terpisah. Pilihan ini
menentukan kolom pemetaan tanggal/waktu mana yang tampil, bersilang dengan pilihan Row
Mode.
Nilai Default: (kosong, wajib dipilih)
Wajib Diisi: Ya
Dapat Dirubah: Ya
Nama atau nomor kolom yang memuat kode karyawan pada berkas. Kode ini dicocokkan terhadap
daftar karyawan yang terdaftar pada Mesin Kehadiran yang memakai CSV Mapping ini.
Nilai Default: (kosong)
Wajib Diisi: Ya
Dapat Dirubah: Ya
Nama/nomor kolom untuk datetime check-in dan check-out gabungan. Hanya tampil bila Row
Mode = Single Row dan Datetime Mode = Combined.
Nilai Default: (kosong)
Wajib Diisi: Tidak
Dapat Dirubah: Ya
Nama/nomor kolom terpisah untuk tanggal dan waktu check-in serta check-out. Hanya tampil
bila Row Mode = Single Row dan Datetime Mode = Separate.
Nilai Default: (kosong)
Wajib Diisi: Tidak
Dapat Dirubah: Ya
Hanya tampil bila Row Mode = Separate Rows. Row Type Column adalah nama/nomor
kolom yang menandai apakah sebuah baris adalah baris check-in atau check-out. Sign-in
Value dan Sign-out Value adalah nilai pada Row Type Column yang masing-masing
menandai baris check-in dan baris check-out.
Nilai Default: (kosong)
Wajib Diisi: Tidak
Dapat Dirubah: Ya
Hanya tampil dan hanya berlaku bila Row Mode = Separate Rows. Mengatur perlakuan
sistem terhadap satu situasi spesifik: sebuah baris check-out pada berkas yang tidak
menemukan baris check-in terbuka yang cocok untuk ditutup.
TBD-ORG #190: siapa yang berwenang memutuskan pengaktifan opsi ini pada sebuah CSV Mapping, dan pertimbangan apa yang mendasarinya — sebab mencentangnya mengubah baris yang semula gagal diproses menjadi kehadiran 0 jam yang tersimpan sebagai data valid, yang berakibat pada penggajian.
Nilai Default: Tidak dicentang
Wajib Diisi: Tidak
Dapat Dirubah: Ya
Nama/nomor kolom datetime gabungan pada baris. Hanya tampil bila Row Mode = Separate
Rows dan Datetime Mode = Combined.
Nilai Default: (kosong)
Wajib Diisi: Tidak
Dapat Dirubah: Ya
Nama/nomor kolom tanggal dan kolom waktu terpisah pada baris. Hanya tampil bila Row Mode
= Separate Rows dan Datetime Mode = Separate.
Nilai Default: (kosong)
Wajib Diisi: Tidak
Dapat Dirubah: Ya
Exclude Column adalah nama/nomor kolom yang dipakai untuk menentukan apakah sebuah baris
harus dibuang sebelum diproses (mis. kolom penanda pengecualian/validitas dari mesin).
Exclude Values adalah daftar nilai pada Exclude Column, dipisah koma, yang menandai
baris sebagai sampah/duplikat yang harus dibuang. Keduanya dikosongkan bersama untuk
menonaktifkan fitur ini. Selalu tampil, tidak bergantung pada Row Mode.
Nilai Default: (kosong)
Wajib Diisi: Tidak
Dapat Dirubah: Ya
Format strptime Python untuk membaca nilai tanggal/waktu. Datetime Format tampil bila
Datetime Mode = Combined; Date Format dan Time Format tampil bila
Datetime Mode = Separate. Contoh nilai yang benar-benar dipakai di Odoo YPII:
%d-%m-%Y dan %Y-%m-%d untuk Date Format, %H:%M:%S dan %H.%M untuk Time
Format, %d/%m/%Y %H.%M untuk Datetime Format.
Nilai Default: (kosong)
Wajib Diisi: Tidak
Dapat Dirubah: Ya
Catatan bebas terkait CSV Mapping, berada pada tab Note.
Nilai Default: (kosong)
Wajib Diisi: Tidak
Dapat Dirubah: Ya