Mengelola SDM UMKM dengan Payroll Indonesia di Odoo 19
Sistem Informasi Enterprise β ERP Odoo 19.0
dengan Real UMKM Partner Program
4 pertanyaan refleksi β bukan dinilai.
Diskusikan dengan teman sebangku selama 1 menit per soal.
Aktivitas pre-reading mencakup hitung manual BPJS + PTKP. Jika sudah dikerjakan, soal-soal ini akan terasa familiar!
Berikan 2 implikasi perbedaannya terhadap hak karyawan β misalnya: cuti, BPJS, pesangon.
π¬ Diskusikan 1 menit β Pikirkan: jika Anda memiliki UMKM, kapan Anda menggunakan PKWT vs PKWTT?
Karyawan: gaji Rp 5 juta, BPJS Kesehatan employee 1%, JHT 2%, JP 1%.
Berapa total potongan BPJS per bulan dari gaji karyawan tersebut?
π¬ Diskusikan 1 menit β Apakah ada komponen BPJS yang 100% ditanggung employer?
Mengapa PTKP karyawan lajang berbeda dengan karyawan yang menikah dan punya 2 anak tanggungan?
π¬ Diskusikan 1 menit β Siapa yang PPh 21-nya lebih besar: lajang atau K/2 dengan gaji sama? Mengapa?
UMKM mitra Anda tidak pernah memberikan slip gaji. Apa 3 risiko β dari sisi legal, keuangan, dan manajemen SDM?
π¬ Diskusikan 1 menit β Bagaimana karyawan membuktikan penghasilan untuk pinjaman bank tanpa slip gaji?
π§ LO 10.1
Menjelaskan employee lifecycle dalam ERP dan mengkonfigurasi struktur organisasi (departemen, jabatan, kontrak)
π§ LO 10.2
Membuat dan mengelola employee records lengkap termasuk kontrak PKWT/PKWTT dan dokumen legal
π§ LO 10.3
Mengkonfigurasi sistem kehadiran dan cuti sesuai UU Ketenagakerjaan Indonesia
π§ LO 10.4
Menghitung komponen gaji UMKM β BPJS Kesehatan, BPJS TK, PPh 21 β dan memproses payslip di Odoo
π LO 10.5
Memverifikasi integrasi payroll β Accounting: journal entries gaji, BPJS employer, PPh 21
π§ LO 10.6
Mengkonfigurasi employee portal untuk akses mandiri payslip, cuti, dan expense
Employee Data
Departments Β· Jobs Β· Contracts Β· Private Info
Daily Ops
Attendance Β· Leave Β· Expense
Payroll
BPJS Β· PPh 21 Β· Payslip Β· Journal
Employee Portal β Karyawan akses mandiri: payslip, cuti, expense | Accounting Integration β Journal entries otomatis
Bab 4
Master Data
β Employee sbg master data
Bab 10
HR Management
Employee Β· Leave Β· Payroll
Bab 12
Integration
β HR data dlm laporan
β Bab 8 (Accounting): Payroll β Journal Entries (Biaya Gaji, Utang BPJS, Utang PPh 21)
β Bab 9 (Manufacturing): Labor cost dari Work Centers terkait HR module
Dari onboarding hingga payroll terintegrasi
Fokus Bab 10: Fase 2 (Onboarding) + Fase 3 (Daily Operations) + Fase 5 (Payroll) β tiga fase paling relevan untuk implementasi awal UMKM
Employees
Core module β records, org structure
Attendances + Time Off
Check-in, leave, overtime
Payroll
Salary rules, payslip, accounting
| Tantangan | Detail |
|---|---|
| Regulasi kompleks | BPJS Kes + TK + PPh 21 + Biaya Jabatan + PTKP + UMR β semua berbeda per karyawan |
| Perubahan reguler | Tarif BPJS, PTKP, UMR diupdate pemerintah setiap tahun |
| Mix kontrak | PKWT (kontrak) dan PKWTT (tetap) β hak berbeda |
| Manual attendance | Buku absen fisik β sulit di-audit, rawan manipulasi |
| Slip gaji tidak standar | Karyawan tidak tahu komponen potongan |
| Cuti tidak tertrack | Saldo cuti tidak tercatat β dispute |
"Bu Rina menghabiskan 3 hari penuh setiap bulan menghitung gaji 20 orang β manual, pakai kalkulator. Sering ada yang salah." β Moda Indah Fashion
| Aspek | PKWT (Waktu Tertentu) | PKWTT (Waktu Tidak Tertentu) |
|---|---|---|
| Durasi | Max 5 tahun total (UU Cipta Kerja) | Tidak terbatas (permanen) |
| Masa Percobaan | Tidak boleh | Max 3 bulan |
| Pesangon | Tidak berhak (saat habis wajar) | Berhak jika di-PHK |
| Hak BPJS | Sama | Sama |
| Cuti Tahunan | 12 hari (setelah 12 bulan) | 12 hari (setelah 12 bulan) |
| Konteks UMKM | Sales musiman, proyek terbatas | Posisi inti berkelanjutan |
π Di Odoo: Employees β Contract β Contract Type: Fixed-term (PKWT) atau Permanent (PKWTT). Alert otomatis 30/60 hari sebelum PKWT expired.
β Jawaban: B β PKWT yang berakhir secara wajar (bukan diputus sepihak) tidak mewajibkan pesangon. Hak BPJS tetap terjaga, dan kontrak bisa diperpanjang jika belum mencapai batas 5 tahun.
Membangun database SDM yang lengkap dan akurat
Contract: Employees β Contracts β PKWT/PKWTT, Start/End Date, Salary, Working Schedule. Odoo simpan history kenaikan gaji β setiap update = kontrak baru (bukan overwrite).
Satu karakter salah di PTKP status β PPh 21 salah setiap bulan selama kontrak berlangsung.
| Field Kritis | Siapa Verifikasi | Sumber Primer |
|---|---|---|
| Marital Status | HR + Karyawan | Kartu Keluarga |
| Dependent Children | HR + Karyawan | Kartu Keluarga |
| NPWP | HR Admin | Kartu NPWP fisik |
| NIK | HR Admin | KTP |
β οΈ Kasus Nyata: Moda Indah menemukan 5 karyawan PTKP-nya salah β koreksi menghasilkan selisih PPh 21 yang harus diselesaikan dengan DJP. Biaya administrasi koreksi jauh melebihi biaya verifikasi di awal.
β Jawaban: B β Karyawan tanpa NPWP dikenakan tarif PPh 21 20% lebih tinggi dari tarif normal. Selain itu, beberapa konfigurasi Odoo Indonesia memerlukan NPWP terisi agar formula PPh 21 aktif.
Dari buku absen ke sistem digital
HR input manual. Cocok UMKM <5 karyawan atau sebagai override.
Karyawan check-in via Odoo web/app. Perlu internet.
Tablet di pintu masuk β tap badge/PIN. Odoo 19: face recognition (opsional). Ideal retail/manufaktur.
WFH/field β check-in via HP. GPS location optional.
Overtime di Odoo 19: Duration-based work entries β jam aktual vs jam standar β selisih = overtime. Rate konfigurasi: weekday 1.5Γ, weekend 2Γ sesuai UU Ketenagakerjaan.
| Tipe Cuti | Ketentuan UU | Dibayar? |
|---|---|---|
| Cuti Tahunan | 12 hari kerja/tahun (setelah 12 bulan) | Ya |
| Cuti Sakit | Tidak dibatasi (surat dokter) | Ya (bertahap) |
| Cuti Melahirkan | 3 bulan (1.5 pra + 1.5 pasca) | Ya |
| Cuti Haid | 2 hari/bulan (kondisi tertentu) | Ya |
| Tidak Dibayar | Persetujuan manager + HR | Tidak |
Allocation: Fixed (12 hari di 1 Jan) atau Accrual (1 hari/bulan otomatis)
Workflow: Employee Submit β Manager Approve/Refuse β Balance Update otomatis
Public Holidays: Odoo 19 β Time Off β Configuration β Import hari libur nasional Indonesia (16β18 hari/tahun + cuti bersama)
Jika karyawan ajukan cuti sebelum allocation dibuat β ditolak sistem β kebingungan.
Karyawan baru di tengah tahun? Fixed Allocation β proporsional manual. Accrual Plan β otomatis 1 hari/bulan dari tanggal join. Ingat: hak cuti baru muncul setelah 12 bulan kerja (UU 13/2003).
β Jawaban: C β Gaji harian = 6.000.000 Γ· 25 = Rp 240.000. Potongan 5 hari = 5 Γ 240.000 = Rp 1.200.000. Cuti Tidak Dibayar β Cuti Tahunan β saldo cuti tahunan tidak berkurang.
Setiap kategori β expense account di CoA
BPJS, PPh 21, dan Slip Gaji Sesuai Regulasi
= Gross Income
= Take-Home Pay
Di Odoo: Payroll β Configuration β Salary Structures β buat "Gaji Karyawan UMKM Indonesia" β setiap komponen = 1 Salary Rule
| Program | Employee | Employer | Dasar Iuran |
|---|---|---|---|
| BPJS Kesehatan | 1% | 4% | Gaji + Tunjangan Tetap |
| BPJS Ketenagakerjaan: | |||
| JKK (Kecelakaan Kerja) | 0% | 0,24%* | Gaji Pokok |
| JKM (Kematian) | 0% | 0,30% | Gaji Pokok |
| JHT (Hari Tua) | 2% | 3,70% | Gaji Pokok |
| JP (Pensiun) | 1% | 2% | Gaji Pokok |
*JKK rate tergantung risiko industri: retail 0,24%, manufaktur bisa lebih tinggi. Tarif per Feb 2026.
β οΈ Total BPJS Employer β 10,24% dari gaji β biaya tersembunyi yang sering tidak dianggarkan owner UMKM! Harus masuk ke pricing.
π‘ Analogi: JHT = celengan yang bisa dipecahkan. JP = uang pensiun bulanan seumur hidup setelah 57 tahun.
| Status | PTKP/Tahun |
|---|---|
| TK/0 β Lajang | Rp 54.000.000 |
| K/0 β Kawin, 0 anak | Rp 58.500.000 |
| K/1 β Kawin, 1 anak | Rp 63.000.000 |
| K/2 β Kawin, 2 anak | Rp 67.500.000 |
| K/3 β Kawin, 3 anak | Rp 72.000.000 |
| PKP per Tahun | Tarif |
|---|---|
| s.d. Rp 60 juta | 5% |
| 60β250 juta | 15% |
| 250β500 juta | 25% |
| 500 jutaβ5 M | 30% |
| > 5 M | 35% |
Biaya Jabatan: Pengurang 5% dari gross bruto, max Rp 500.000/bulan = Rp 6 juta/tahun. Tidak perlu bukti β standarisasi "pengurang hipotetis."
Profil: Karyawan A β Status K/1, Gaji Rp 5.000.000 + Tunj. Transport Rp 500.000 + Tunj. Makan Rp 500.000
| Langkah | Nilai |
|---|---|
| (1) Gross Income Γ 12 | 6.000.000 Γ 12 = Rp 72.000.000 |
| (2) Pengurang: BPJS Emp (JHT+JP) Γ 12 | (100k+50k) Γ 12 = Rp 1.800.000 |
| (2) Pengurang: Biaya Jabatan 5% Γ 72jt | Rp 3.600.000 (< cap 6jt β) |
| (3) Neto = 72jt β 1,8jt β 3,6jt | Rp 66.600.000 |
| (4) PTKP K/1 | Rp 63.000.000 |
| (5) PKP = 66,6jt β 63jt | Rp 3.600.000 |
| (6) PPh 21/tahun = 5% Γ 3,6jt | Rp 180.000 |
| (7) PPh 21/bulan | Rp 15.000 |
THP = 6.000.000 β 60.000 (BPJS Kes) β 100.000 (JHT) β 50.000 (JP) β 15.000 (PPh 21) = Rp 5.775.000
Gaji Pokok: Rp 8.000.000 + Transport Rp 600.000 + Makan Rp 500.000 = Gross Rp 9.100.000
Take-Home Pay = 9.100.000 β 331.000 β 139.000 = Rp 8.630.000
Owner UMKM sering hanya tahu angka gaji. BPJS Employer = biaya tersembunyi!
| Komponen (20 karyawan) | Per Bulan |
|---|---|
| Total Gross Payroll | Rp 95.000.000 |
| BPJS Kes Employer (4%) | Rp 3.800.000 |
| JKK + JKM (0,54%) | Rp 513.000 |
| JHT Employer (3,70%) | Rp 3.515.000 |
| JP Employer (2%) | Rp 1.900.000 |
| Total Labor Cost | Rp 104.728.000 |
π‘ BPJS Employer = 10,24% tambahan di atas gross. Setiap Rp 1 ke karyawan, UMKM keluar Rp 1,10. Per tahun: Rp 116 juta+ "tersembunyi." β Bu Dian, Moda Indah
Journal Entry otomatis: Debit Biaya Gaji β Kredit Utang Gaji + Kredit Utang BPJS + Kredit Utang PPh 21 β langsung masuk ke Accounting (Bab 8)
Konfigurasi Salary Rules hanya dilakukan sekali, tapi dampaknya berlangsung setiap bulan.
1. Konsultasikan dengan profesional. Akuntan atau HR konsultan yang paham Odoo Indonesia β terutama formula Python PPh 21.
2. Uji coba 3β5 karyawan representatif sebelum batch pertama: minimal TK/0 + K/1 + K/2. Hitung manual, bandingkan dengan Odoo.
3. Dokumentasikan konfigurasi. Catat semua Salary Rules + formula + asumsi. Saat regulasi berubah, tim tahu persis field mana yang diupdate.
β οΈ Formula PPh 21 yang salah Γ 20 karyawan Γ 12 bulan = potensi kewajiban pajak signifikan. Biaya konsultan jauh lebih kecil dari denda DJP.
Sebelum klik Validate pada Batch pertama β cross-check manual 2β3 karyawan:
| Komponen | Cara Cek |
|---|---|
| BPJS Kes Employee | Gross Γ 1% β cocokkan payslip |
| BPJS JHT Employee | Gaji pokok Γ 2% |
| PTKP yang digunakan | Cocokkan status di Private Info |
| PPh 21 | Hitung manual 7 langkah |
| Take-Home Pay | Gross β semua potongan |
π‘ "Lebih baik terlambat 1 hari karena cross-check, daripada validate payslip yang salah dan harus jurnal pembalik di akuntansi."
β Jawaban: D β Ketiga penyebab bisa menghasilkan PPh 21 = 0. (A) PTKP K/2 = 67,5jt β PKP negatif. (B) Formula Python punya kondisi salah. (C) Konfigurasi tertentu non-aktifkan PPh 21 tanpa NPWP. Investigasi ketiganya!
| Pertanyaan Karyawan | Sebelum Portal | Setelah Portal |
|---|---|---|
| "Gaji saya berapa?" | WhatsApp HR β HR buka β balas | Portal β Payslips β unduh |
| "Cuti sisa berapa?" | WhatsApp HR β HR cek β balas | Dashboard β Time Off balance |
| "Slip gaji 3 bulan lalu?" | HR print/scan β kirim | Portal β filter bulan |
| "Mau ajukan cuti" | Form fisik/WhatsApp | Portal β New request |
Rollout bertahap: Minggu 1: HR + Manager test β Minggu 2: Semua karyawan + demo 30 min β Bulan 1: Pantau adopsi. Moda Indah: 17/20 aktif dalam 4 minggu.
Jenis: Retail pakaian & batik modern
Lokasi: Surabaya β 2 toko (Tunjungan Plaza & Galaxy Mall)
Skala: 20 karyawan β 8/toko + 4 admin pusat
Omzet: Β±Rp 1,2 miliar/tahun
Mix kontrak: 14 PKWT + 6 PKWTT
Mix PTKP: 7 TK/0, 5 K/0, 5 K/1, 2 K/2, 1 K/3
| Metrik | Sebelum | Sesudah (90 hari) |
|---|---|---|
| Waktu payroll | 3 hari penuh | 2 jam |
| Error rate | 3β4 orang/bulan | 0 errors |
| Tracking absensi | 2 buku fisik | Digital, real-time kiosk |
| Dispute cuti | 2β3/bulan | 0 dispute |
| Slip gaji | Cetak manual, amplop | Portal self-service |
| Visibilitas labor cost | Tidak ada | Real-time dashboard |
| Kepuasan karyawan | 6,2/10 | 8,1/10 |
Financial Impact: PTKP 5 karyawan salah bertahun-tahun β koreksi Rp 4,5 juta refund ke karyawan. Pelajaran: investasi data quality di awal > biaya koreksi nanti.
1. Data karyawan akurat = investasi. "Membersihkan" data 20 karyawan butuh 2 minggu, tapi menghasilkan fondasi solid. Jangan tunda!
2. Kiosk = game-changer multi-outlet. Rekap 2 toko otomatis, "titip absen" tidak mungkin lagi karena badge individual.
3. Payroll config harus diverifikasi ahli. Biaya konsultan Rp 3 juta < biaya salah PPh 21 setahun (Rp 20β30 juta + denda DJP).
4. Portal = transparansi. Karyawan lihat sendiri, angka tidak bisa diperdebatkan β kepercayaan naik.
5. BPJS Employer masuk pricing. 10 karyawan baru = Rp 52jt gross + Rp 5jt BPJS/bln = Rp 57jt labor cost yang harus di-cover revenue.
Payroll adalah jembatan HR β Accounting. Setiap payslip validated = journal entry otomatis. Total Labor Cost mempengaruhi pricing, budgeting, dan profitability analysis.
1. Employee Lifecycle: Recruitment β Onboarding β Operations β Development β Payroll β Offboarding. Fokus UMKM: fase 2, 3, 5.
2. PKWT vs PKWTT: Hak berbeda (pesangon, percobaan). Kontrak di Odoo β history tersimpan, alert sebelum expired.
3. Attendance: 4 metode (manual, self-service, kiosk, mobile). Kiosk ideal multi-outlet. Overtime otomatis dari duration-based work entries.
4. Leave: 5+ tipe cuti UU Indonesia. Mass Allocation di 1 Januari. Approval workflow β balance otomatis.
5. Payroll: BPJS (Kes 1%+4%, TK: JKK+JKM+JHT+JP) + PPh 21 (PTKP β PKP β tarif progresif). Total Employer BPJS β 10,24% extra.
6. Employee Portal: Self-service payslip, cuti, expense β kurangi beban HR, tingkatkan transparansi.
Step 1: Konfigurasi HR β Departments, Job Positions, Working Hours
Step 2: Employee Records β 5 karyawan Moda Indah + Contracts
Step 3: Attendance & Leave β Kiosk setup, cuti tahunan, public holidays
Step 4: Payroll β Salary Structure, BPJS rules, PPh 21, Batch Payslip
Step 5: Employee Portal β Rollout + verifikasi payslip dari sisi karyawan
β οΈ Persiapan: Pastikan Accounting (Bab 8) sudah aktif β payroll butuh CoA: Biaya Gaji, Utang Gaji, Utang BPJS, Utang PPh 21.
1. UU No. 13/2003 tentang Ketenagakerjaan & UU No. 11/2020 tentang Cipta Kerja.
2. PP No. 82/2013 tentang BPJS Kesehatan; PMK No. 101/2016 tentang PTKP.
3. BPJS Kesehatan (2024). Iuran BPJS Kesehatan Peserta Penerima Upah.
4. BPJS Ketenagakerjaan (2024). Iuran Jaminan Sosial.
5. Direktorat Jenderal Pajak (2024). PPh 21.
6. Odoo S.A. (2024). Employees, Attendances, Time Off, Payroll, Expenses. Odoo 19.0 Documentation.
β οΈ Tarif BPJS, PTKP, PPh 21 dalam slide ini per Februari 2026. Selalu verifikasi ke sumber resmi sebelum implementasi.
Bab 10 β Human Resource Management
Mengelola SDM UMKM dengan Payroll Indonesia di Odoo 19
Sistem Informasi Enterprise β ERP Odoo 19.0
dengan Real UMKM Partner Program