Lewati ke konten

Keunggulan: Piutang Karyawan

Tier 3 — Keunggulan-keunggulan Booku yang muncul saat user memakai menu Piutang Karyawan.


1. Identitas Menu

AspekKeterangan
Nama MenuPiutang Karyawan
Lokasi (Tahun NORMAL)Sidebar → Buku PengawasanPiutangPiutang Karyawan
Lokasi (Tahun LAMPAU)Sidebar → Data AwalPiutangSaldo Akhir Piutang Karyawan
Deskripsi User-Facingdeskripsi/buku-pengawasan/piutang/piutang-karyawan.md

2. Ringkasan Keunggulan

#KeunggulanTagline SingkatTier 2 Terkait
1Modul khusus untuk pinjaman ke karyawanBukan 1 ember “Piutang” generic — pinjaman karyawan punya modul sendiri dengan COA terpisah#08
2Form input minimalis — Sarana Pembayaran ditentukan saat PostingCatatan piutang awal hanya butuh jumlah & karyawan; detail bank di-isi saat pencairan#08, #10
3Auto-fetch Jabatan dari Data KaryawanUser cukup pilih kode karyawan — Nama & Jabatan otomatis tertarik#02
4Cross-Modul Atomic PostingTombol Posting menjurnalkan pencairan via Bukti Pengeluaran dalam single atomic transaction#01, #02
5Bar Saldo dengan reconciliation List vs COA realtimeSelisih List dan COA langsung terlihat di atas tabel#01
6Dua Mode: Buku Pengawasan & Data AwalHalaman yang sama dipakai di tahun NORMAL untuk transaksi aktif & tahun LAMPAU untuk input saldo akhir historis#08

3. Detail per Keunggulan

3.1 Modul Khusus untuk Pinjaman ke Karyawan

Apa: Piutang Karyawan adalah modul terpisah dari Piutang Usaha, Piutang Pihak Ketiga, Piutang Afiliasi, dll. Diperuntukkan khusus untuk pinjaman dana yang perusahaan berikan ke karyawan — kasus tipikal: bantuan kesehatan, cicilan untuk kebutuhan personal, dana darurat keluarga karyawan.

Bagaimana: Modul punya COA Tautan sendiri (Piutang Karyawan = 11508), tabel master sendiri (tbl_pengawasanpiutangkaryawan), dan flow input yang spesifik. Reporting saldo piutang ke karyawan langsung ter-segregasi dari piutang usaha, piutang pihak ketiga, dll. — tanpa filter manual.

📄 Cross-ref: #08 Simple for User


3.2 Form Input Minimalis — Sarana Pembayaran Ditentukan saat Posting

Apa: Form input Piutang Karyawan lebih ringkas dibanding Hutang Karyawan — tidak ada field Sarana Pembayaran, Biaya Administrasi, Ditanggung Oleh, atau Pembebanan saat input awal.

Mengapa: Mengikuti pola sistem internal mode Piutang yang sengaja tidak menampilkan Sarana Pembayaran di form input. Filosofinya: saat mencatat piutang awal (Anda berniat meminjamkan ke karyawan), Anda belum tentu tahu via Bank apa atau Kas mana yang akan dipakai untuk pencairan. Detail bank/cash relevan saat pencairan dana — dan itu dikerjakan via Bukti Pengeluaran saat klik tombol Posting.

Bagaimana: Form input cukup minta: Tanggal Pinjam, Karyawan, Jumlah Pinjaman, (opsional) Nomor Kontrak, Saldo Awal (sama dengan Jumlah Pinjaman), Keterangan. Saat user klik Posting, modal Bukti Pengeluaran muncul untuk memilih Sarana Pembayaran (Bank/Kas) — di sinilah jurnal pencairan ter-generate.

📄 Cross-ref: #08 Simple for User, #10 UI Dinamis Kontekstual


3.3 Auto-Fetch Jabatan dari Data Karyawan

Apa: Saat user input Piutang Karyawan baru, cukup klik picker Karyawan dan pilih dari daftar — Kode Karyawan, Nama Karyawan, dan Jabatan otomatis terisi.

Bagaimana: Form input memanggil KaryawanPickerDialog yang share data master Karyawan. Saat user pilih satu karyawan, 3 field langsung di-populate. Saat mode Edit, Jabatan auto-fetch ulang dari master via karyawanService.getById() — sehingga kalau Jabatan karyawan berubah di master (mis. promosi), info terbaru langsung muncul tanpa user perlu refresh manual.

📄 Cross-ref: #02 Automatic Everything


3.4 Cross-Modul Atomic Posting

Masalah klasik di aplikasi akuntansi: Pencairan piutang melibatkan 2 tabel: tabel master Piutang Karyawan + tabel Bukti Pengeluaran + tabel jurnal. Kalau salah satu gagal disimpan, data jadi inconsistent: master ter-update tapi jurnal hilang (atau sebaliknya).

Solusi Booku: Tombol Posting di context menu Piutang Karyawan men-trigger flow yang menjurnalkan pencairan via Bukti Pengeluaran dalam single atomic transaction. Implementasi:

  • Interface IPiutangKaryawanPostingOps — share DbContext antar service
  • Method MarkAsPostedAsync — track perubahan saja, sync COA Sarana yang dipilih user ke master Piutang
  • BuktiPengeluaranService.CreateAsync — satu-satunya caller yang commit

Hasilnya: master Piutang Karyawan (update NomorJV + COA_Kredit + section Bank) + entry Bukti Pengeluaran + jurnal lines — semua atau tidak sama sekali. Tidak ada partial commit.

📄 Cross-ref: #01 Realtime Accuracy, #02 Automatic Everything


3.5 Bar Saldo dengan Reconciliation List vs COA Realtime

Setiap halaman Piutang Karyawan punya Bar Saldo di atas tabel yang menampilkan:

AnglePenjelasan
Saldo (List)Akumulasi saldo dari semua record Piutang Karyawan di tabel
Saldo (COA) + AJPSaldo COA Piutang Karyawan (11508) dari jurnal, ditambah AJP (Adjusment Jurnal Penyesuaian) saat tahun NORMAL
SelisihList − (COA + AJP), ideal = 0 → warna merah kalau ≠ 0

User langsung lihat apakah catatan individu cocok dengan saldo akuntansi. Kalau selisih ≠ 0: ada record yang belum dijurnal, jurnal manual yang tidak match, atau data master yang terhapus tidak sengaja.

Implementation: helper terpusat _coaService.GetCoaSaldoAsync(KodeTautanCOA_PiutangKaryawan) yang juga dipakai dashboard Validasi Saldo Awal — single source of truth untuk perhitungan saldo COA.

📄 Cross-ref: #01 Realtime Financial Accuracy


3.6 Dua Mode: Buku Pengawasan & Data Awal

Halaman Piutang Karyawan dipakai di 2 lokasi sidebar dengan komponen page yang sama:

LokasiModeJudul HalamanKegunaan
Tahun NORMAL → Buku Pengawasan → Piutang KaryawanBukuPengawasan (default)“Buku Pengawasan Piutang Karyawan”Input transaksi aktif tahun ini + Posting jurnal
Tahun LAMPAU → Data Awal → PiutangDataAwal”Saldo Akhir Piutang Karyawan”Input saldo akhir historis (menjadi saldo awal tahun NORMAL berikutnya)

Behavior CRUD identik di kedua mode; yang berbeda hanya judul, subtitle, dan tombol Posting (otomatis disembunyikan di LAMPAU karena tidak ada jurnal di tahun LAMPAU).

📄 Cross-ref: #08 Simple for User


4. Nilai Tambah untuk User

“Catat pinjaman ke karyawan dengan modul khusus — form input ringkas tanpa harus tahu detail bank dari awal, auto-fetch jabatan dari Data Karyawan, dan pencairan dana via Posting sekali klik tanpa risiko data setengah jadi.”

Modul Piutang Karyawan menjawab kebutuhan praktis: saat memutuskan memberi pinjaman ke karyawan, biasanya jumlah dan tanggal sudah pasti, tapi via Bank/Kas mana yang akan dipakai sering belum pasti (tergantung saldo bank, ketersediaan cash, dll.). Booku memungkinkan catat dulu komitmen piutang, eksekusi pencairan kemudian via tombol Posting — semua dalam satu flow yang konsisten dengan modul piutang lainnya.

Kombinasi form minimalis + single source of truth (data karyawan) + atomic posting + reconciliation realtime mengurangi friksi input & risiko kesalahan akuntansi dibandingkan tracking manual.


5. Dokumentasi Terkait

DokumenRelevansi
Deskripsi: Piutang KaryawanPanduan operasional user-facing
Keunggulan: Hutang KaryawanModul saudara (pinjaman dari karyawan)
Keunggulan: Piutang Pihak KetigaModul sejenis dengan pattern form input minimalis yang sama
Keunggulan: Validasi Saldo AwalDashboard reconciliation lintas modul (Piutang Karyawan ter-cover)

Terakhir diperbarui: 08-05-2026