Demo — Laporan Nota
Panduan demo untuk tujuh laporan grup Nota: Laporan Kas Harian, Perincian Kas Tunai, Piutang & Hutang Sementara, Laporan PS Harian, Piutang Angsuran (KDS), Klaim SCP MPM, dan Hutang Titipan KSM. Setiap alur menyebut siapa yang mengerjakan (role), langkahnya, dan tangkapan layar halaman yang dilihat. Generate Nota Cetak dan form Nota Sekunder tidak didemokan di sini (hanya dipakai untuk menyiapkan data).
Semua gambar diambil dari build develop yang berjalan dengan data uji (database terpisah, satu akun per role, cabang Cabang E2E A). Tanggal "hari ini" pada gambar adalah 10/10/2026, "kemarin" 09/10/2026.
Cara membaca gambar
- Kotak biru = tombol atau kolom yang diklik atau diisi.
- Kotak hijau = hasil yang benar; kotak merah = ditolak atau gagal.
- Kotak ungu = keterangan tambahan.
- Angka kecil di kotak (1, 2) = nomor keterangan pada teks di bawah gambar.
- Pita hitam di bawah gambar = alur dan role yang sedang berjalan.
Akun yang dipakai
| Role | Nama | Username | Dipakai di alur |
|---|---|---|---|
| Admin H1 | Rina Marlina | e2e_admin_h1 | 1, 2, 4, 6 |
| ADH | Sri Wahyuni | e2e_adh | 3, 5, 7 |
| Kepala Cabang | Dewi Lestari | e2e_kepala_cabang | 5 (laporan), 8 |
| Kawil | Bambang Sutrisno | e2e_kawil | 9 |
| Sales | Budi Santoso | e2e_sales | 9 (ditolak) |
| SPV | Yusuf Hidayat | e2e_spv | 9 (ditolak) |
Password semua akun uji sama. Data awal (transaksi kredit/KDS, nota cetak, nota sekunder, SCP, titipan PIC, HS Leasing) disiapkan lewat API sebelum gambar diambil.
Siapa boleh apa
| Kegiatan | Role |
|---|---|
| Membuka tujuh laporan Nota | Superadmin, Kawil, Kepala Cabang, Admin H1, ADH |
| Mengisi saldo akun kas, pengeluaran tunai, anchor piutang/hutang, status PS, jadwal KDS | Role cabang di atas; Kawil hanya membaca (alur 9) |
| Laporan Nota bila alamat diketik manual | Sales dan SPV ditolak (alur 9) |
Sumber: feature-access.ts (fitur laporan_nota). Kawil memilih cabang sendiri; role cabang langsung melihat cabangnya.
Alur satu halaman
Nota Cetak + Nota Sekunder -> Laporan Kas Harian -> Perincian Kas Tunai
| ^
| | (HS Leasing masuk BKM Hutang Sementara)
+-> Piutang & Hutang Sementara (anchor + pencairan lewat ref)
Transaksi kredit -> Laporan PS Harian
Transaksi KDS -> Jadwal angsuran -> Piutang Angsuran (KDS)
Transaksi + SCP -> Klaim SCP MPM Transaksi KSM -> Hutang Titipan KSM
1. Laporan Kas Harian
Role: Admin H1 (Rina Marlina)
- Login, buka Nota → Laporan Kas Harian. Cabang mengikuti akun; tanggal awal hari ini.
- Pilih Tanggal kemarin. Enam kartu terhitung otomatis: Saldo Awal Rp 0, Total Penerimaan Rp 6.200.000, Total Pengeluaran Rp 700.000, Penerimaan Bersih, Saldo Kas, dan Jumlah Tunai (1) = Saldo Kas dikurangi saldo akun kas.
- Tabel Penerimaan (BKM) dan Pengeluaran (BKK) memecah angka per label dan per sumber (Nota Cetak / Nota Sekunder).

- Ganti ke hari ini. Saldo Awal Rp 5.500.000 = saldo kas kemarin (bergulir). Baris Hutang Sementara Rp 900.000 berasal dari dana HS Leasing yang dicatat hari ini.

- Di Saldo Akun Kas isi saldo fisik Kas Tunai Rp 4.000.000, tekan Simpan.

- Muncul pemberitahuan "Saldo Kas Tunai disimpan"; Jumlah Tunai turun dari Rp 24.900.000 menjadi Rp 20.900.000, Total Saldo Akun Kas Rp 4.000.000.

2. Perincian Kas Tunai
Role: Admin H1 (Rina Marlina)
- Buka Nota → Perincian Kas Tunai, pilih tanggal kemarin.
- Kiri: Penerimaan (1), delapan baris tetap (Saldo Kemarin, Penjualan Tunai, Penjualan Kredit, Angsuran Piutang, Hutang Sementara, Pengembalian Piutang Sementara, Titipan BBN & HER, Lain-lain) dan hanya yang tunai. Titipan BBN yang ditransfer (non tunai) tidak masuk.
- Kanan: Pengeluaran (2) diisi manual; Kas dan Saldo Akhir terhitung.

- Isi Keterangan (
TF SH) dan Nominal (Rp 600.000), tekan Tambah.

- Baris muncul dengan tombol Ubah dan Hapus; Total Pengeluaran Rp 600.000, Kas turun dari Rp 5.000.000 menjadi Rp 4.400.000.

3. Piutang & Hutang Sementara
Role: ADH (Sri Wahyuni)
Satu halaman, enam tab: Piutang Sementara Unit, Piutang Sementara TAC, Piutang Karyawan, Hutang Sementara Insentif PIC, Hutang Sementara Lebih Cair, HS Leasing. Tiap baris punya nilai awal, Pencairan (tanggal dan nominal tiap Nota Sekunder yang merujuknya), Terbayar, dan Sisa.
3.1 Enam tab dan anchor baru
Tab Piutang Sementara Unit/TAC dan Insentif PIC berasal dari transaksi; hanya Piutang Karyawan, Hutang Sementara Lebih Cair, dan HS Leasing yang punya tombol Tambah. Pada lebar 1680 px tabel perlu digeser ke kanan untuk melihat Catat pelunasan.

- Buka tab Piutang Karyawan, tekan Tambah Piutang Karyawan.
- Isi Nama (
Agus Kasbon), Keterangan (Kasbon lebaran), PS Awal (Rp 1.000.000), tekan Simpan. Tanggal terisi hari ini.


3.2 Pencairan bertahap dan pelunasan berlebih ditolak
- Dua Nota Sekunder Angsuran Piutang (Rp 400.000 dan Rp 300.000) merujuk Agus Kasbon.
- Baris menampilkan kedua pencairan, Terbayar Rp 700.000, Sisa Rp 300.000 (terhitung, bukan diisi).

- Tekan Catat pelunasan: form Nota Sekunder terbuka dengan label dan referensi terisi (sisa Rp 300.000). Isi Nominal Rp 500.000, Simpan: ditolak, kolom Nominal merah.

3.3 HS Leasing dan penanda Pelunasan
- Tab HS Leasing: dana masuk Rp 900.000 dari PT Federal International Finance, sisa penuh.

- Nota Sekunder Pengembalian Hutang Sementara Rp 900.000 (non tunai) merujuk HS Leasing itu. Di filter Belum lunas baris hilang.

- Filter Semua menampilkan baris yang lunas: Terbayar Rp 900.000, Sisa Rp 0, tanpa tombol Catat pelunasan.

- Di daftar Nota Sekunder sistem menambah baris (1) Pelunasan HS Leasing berlabel Penanda sistem, nominal 0, tanpa kotak centang. Baris pengembalian yang dicatat (2) tetap bisa dipilih.

3.4 Rekap PIC
Tab Hutang Sementara Insentif PIC merekap per bulan dan finco jumlah Hutang Titipan PIC dari transaksi kredit (di demo Rp 200.000, Oktober 2026).

Setelah Nota Sekunder Bayar Titipan PIC Rp 150.000 yang merujuk rekap itu, Pencairan terisi dan Sisa menjadi Rp 50.000.

3.5 Tercermin di Laporan Kas Harian
Pengembalian HS Leasing masuk Pengembalian Hutang Sementara (BKK) Rp 900.000, sehingga dana HS Leasing yang masuk sebagai BKM Hutang Sementara hari yang sama saling menetralkan. Bayar Titipan PIC Rp 150.000 juga muncul di BKK.

4. Laporan PS Harian
Role: Admin H1 (Rina Marlina)
- Buka Nota → Laporan PS Harian. Hanya transaksi kredit yang tampil. Kolom: Tanggal, No Kontrak, Nama, Type, Finco, Piutang Sementara, PS TAC, Umur, Status, Keterangan.
- Status awal Belum PO. Keterangan otomatis: Lancar bila umur sampai 14 hari, Tidak lancar bila lebih. Di gambar: umur 0 hari Lancar, 15 dan 20 hari Tidak lancar. Tabel perlu digeser ke kanan untuk melihat dua kolom ini.

- Klik pilihan Status pada baris: PO, Belum PO, Revisi, Submit, Lunas.

- Pilih Submit pada transaksi baru dan Lunas pada yang berumur 15 hari. Status langsung tersimpan; yang Lunas otomatis Lancar walau 15 hari, yang belum lunas tetap Tidak lancar.

- Filter Keterangan → Tidak lancar hanya menyisakan baris yang tidak lancar, total ikut berubah.

5. Piutang Angsuran KDS
5.1 Jadwal angsuran di halaman transaksi
Role: ADH (Sri Wahyuni)
- Buka transaksi KDS (tanggal transaksi dimundurkan agar contoh bertanggal lama). Bagian Jadwal Angsuran KDS menolak dibuat selama tenor dan angsuran belum diisi.

- Isi Angsuran Rp 950.000 dan Tenor 3 bulan, Simpan. Isi Jatuh tempo pertama (di demo 35 hari lalu; tanggal lama boleh), tekan Buat jadwal. Terbentuk tiga periode bulanan.

- Tombol Lancar pada periode ke-2: isi Tgl bayar (kemarin), Simpan.

- Periode ke-1 ditandai Macet dengan tanggal macet. Hasil: ke-1 Macet, ke-2 Lancar, ke-3 Tidak lancar. Setiap periode bisa dikembalikan ke Tidak lancar.

- Menandai periode ke-3 (jatuh tempo 05/11/2026) macet ditolak.

5.2 Laporan dengan cut-off
Role: Kepala Cabang (Dewi Lestari)
- Buka Nota → Piutang Angsuran (KDS). Tanggal cut-off awal hari ini. Satu baris per transaksi KDS; yang belum punya jadwal bertuliskan Belum ada jadwal.

- Geser tabel ke kanan: F (jumlah periode belum dibayar, 2), Lancar Rp 950.000, Macet Rp 950.000 dengan tanggal macet merah, Tgl Bayar, dan tautan Jadwal.

- Ubah cut-off ke 2 hari lalu: laporan memakai keadaan pada tanggal itu. Periode ke-2 belum dibayar sehingga F menjadi 3 dan nominalnya pindah ke Tidak Lancar; transaksi KDS yang dibuat hari ini tidak tampil.

- Tautan Jadwal membuka halaman transaksi langsung di bagian jadwal.

6. Klaim SCP MPM
Role: Admin H1 (Rina Marlina)
- Buka Nota → Klaim SCP MPM. Transaksi dengan nominal SCP Rp 750.000 muncul di Belum; Sudah masih kosong. Tiap bagian punya total.

- Buka transaksinya, di bagian SCP tekan Tandai selesai lalu konfirmasi.

- Kembali ke laporan: baris pindah ke Sudah, Total Sudah Rp 750.000, Belum kosong.

7. Hutang Titipan KSM
Role: ADH (Sri Wahyuni)
- Buka Nota → Hutang Titipan KSM. Laporan kosong sampai akun sales KSM dicentang. Pilihan diingat di browser.

- Centang Budi Santoso. Transaksi hasil jualannya dengan titipan belum lunas tampil: Total Titipan Rp 400.000, Terbayar Rp 150.000, Sisa Rp 250.000.

- Setelah Nota Sekunder Bayar Titipan PIC Rp 250.000 yang merujuk transaksi itu, transaksi tidak ada lagi di daftar (baris yang tersisa adalah transaksi lain yang titipannya belum dibayar).

8. Mencetak laporan
Role: Kepala Cabang (Dewi Lestari)
Setiap laporan punya tombol Cetak (di Hutang Titipan KSM aktif setelah sales dicentang).

Tampilan cetak (gambar diambil dengan emulasi media print, bukan dialog cetak): hanya laporan dengan judul kertas dan cabang · tanggal; filter, tombol, dan menu tidak ikut, saldo akun kas tampil sebagai teks. Laporan Kas Harian tegak:

Laporan lebar dicetak lanskap dengan huruf tabel lebih kecil; di gambar adalah tab Piutang Karyawan (tab, filter, dan tombol aksi baris tidak ikut). Hanya tab ini yang diambil gambarnya; laporan lebar lain tidak diperiksa satu per satu.

9. Kawil read-only dan role tanpa hak
9.1 Kawil (Bambang Sutrisno)
Kawil melihat semua laporan, memilih Cabang sendiri, dan tidak melihat kolom isi atau tombol Simpan/Tambah/Ubah/Hapus/Catat pelunasan. Penolakan tulis di sisi server tidak didemokan di gambar.
Laporan Kas Harian: saldo akun kas hanya teks.

Perincian Kas Tunai: pengeluaran tampil tanpa form dan tanpa Ubah/Hapus.

Piutang & Hutang Sementara: tanpa Tambah dan tanpa kolom aksi; ada filter Semua cabang.

PS Harian: Status berupa teks, bukan pilihan, ditambah kolom Cabang.

9.2 Sales dan SPV
Bila alamat laporan diketik manual, halaman menampilkan Tidak diizinkan — Akun Anda tidak memiliki akses ke halaman ini.
Sales:

SPV:

10. Cetak laporan yang lain
Role: Kepala Cabang (Dewi Lestari)
Tampilan cetak (emulasi media print, kertas A4: 794 px tegak, 1123 px lanskap) untuk laporan yang belum di alur 8. Semua memakai judul kertas, Cabang E2E A dan tanggal atau filter, tanpa menu, filter, tab, dan tombol aksi. Di semua gambar di bawah tidak ada kolom yang terpotong atau melebar keluar kertas (lebar halaman sama dengan lebar kertas).
PS Harian (lanskap): sepuluh kolom termasuk Status sebagai teks dan Keterangan.

Piutang Angsuran KDS (lanskap): kolom Tgl Bayar paling kanan rapat ke tepi tetapi terbaca; tautan Jadwal tidak ikut.

Klaim SCP MPM (tegak): judul kertas Laporan Piutang Sementara Klaim MPM, berbeda dengan judul di layar (Klaim SCP MPM); Belum dan Sudah masing-masing dengan totalnya.

Hutang Titipan KSM (lanskap, sales sudah dicentang): judul kertas Laporan Hutang Titipan (Jalur Penjualan KSM), subjudul memuat nama sales yang dipilih.

Perincian Kas Tunai (tegak): Penerimaan dan Pengeluaran berdampingan.

Piutang & Hutang Sementara (lanskap), satu gambar per tab. Judul kertas mengikuti tab dan subjudulnya memuat filter status (Belum lunas):





11. Penolakan per role pada laporan lain
Role: SPV (Yusuf Hidayat), Sales (Budi Santoso), Admin PDI (Agus Salim)
Semua tujuh laporan memakai satu hak (laporan_nota), jadi hasilnya sama: halaman Tidak diizinkan. Satu gambar per role per laporan yang berbeda:
SPV, Laporan PS Harian dan Piutang Angsuran:


Sales, Piutang & Hutang Sementara dan Hutang Titipan KSM:


Admin PDI, Klaim SCP MPM dan Perincian Kas Tunai. Admin PDI bahkan tidak punya grup Nota di menu samping:


Menu grup Nota milik Sales hanya berisi Transaksi; ketujuh laporan tidak ada di menu. (SPV juga punya grup Nota.)

Bila API dipanggil langsung, ketiga role ini mendapat 403 Role <role> is not allowed here.
12. Superadmin melihat lintas cabang
Role: Superadmin (Hendra Wijaya)
- Buka Nota → Laporan Kas Harian. Laporan kosong dengan pesan "Pilih cabang dan tanggal untuk menampilkan laporan"; tombol Cetak mati sampai cabang dipilih.

- Pilih Cabang E2E A: laporan lengkap. Kolom saldo akun kas dan tombol Simpan tersedia (Superadmin boleh mengisi).

- Ganti ke Cabang E2E B: hanya angka cabang B (penjualan Rp 2.000.000 yang dicatat Superadmin untuk cabang B); tidak bercampur dengan cabang A.

13. Catat pelunasan di Piutang Sementara Unit dan TAC
Role: ADH (Sri Wahyuni)
Pada lebar 1680 px kolom aksi berada di ujung kanan tabel dan terpotong sebagian (tombol terbaca "Catat pelu..."). Geser tabel ke kanan untuk menekannya.
13.1 Piutang Sementara Unit


- Tekan Catat pelunasan pada baris. Form Nota Sekunder terbuka dengan Kategori Kas BKM, Label Pengembalian Piutang Sementara, dan Referensi Transaksi terisi, petunjuk "Piutang sementara transaksi ini Rp 3.000.000. Nominal tidak boleh melebihi sisanya."
- Isi Nominal Rp 1.000.000, tekan Simpan.

- Kembali ke tab Piutang Sementara Unit: Pencairan terisi (tanggal dan Rp 1.000.000), Terbayar Rp 1.000.000, Sisa Rp 2.000.000. Baris tetap di Belum lunas.

13.2 Piutang Sementara TAC


- Form berlabel Pengembalian Piutang Sementara TAC dengan sisa Rp 800.000. Isi Nominal Rp 800.000 (pelunasan penuh), Simpan.

- Kembali ke tab TAC: baris lunas tidak lagi di Belum lunas; tabel kosong dengan pesan "Tidak ada Piutang Sementara TAC yang belum lunas."

Temuan
- Tabel lebar tidak muat di 1680 px. PS Harian (kolom Status dan Keterangan), Piutang Angsuran (F sampai Jadwal), tab Piutang Sementara Unit (tombol Catat pelunasan), dan daftar Nota Sekunder (kolom Nominal) terpotong dan harus digeser horizontal; di layar biasa pengguna mudah tidak menyadari ada kolom lagi di kanan.
- Pesan penolakan memakai nama field/enum mentah dan angka tanpa format:
nominal (500000) melebihi sisa angsuran_piutang (300000)(alur 3.2) dantgl_macet tidak boleh sebelum jatuh tempo (2026-11-05)(alur 5.1). Bahasa pesan lain di layar Indonesia dengan format Rp. - Halaman ditolak bagi Sales/SPV: sidebar tetap menyorot grup Master (Cabang, Finco, Jenis Kendaraan, Diskon Bulanan) di bawah pesan "Tidak diizinkan"; membingungkan karena itu bukan halaman yang diminta.
- Pelunasan berlebih ditolak setelah Simpan, bukan dicegah di kolom: form tidak membatasi nominal ke sisa, hanya menampilkan petunjuk "Sisa Rp 300.000" lalu menolak. Perilaku ini sesuai petunjuk di layar.
- Cetak: tampilan cetak hanya diverifikasi lewat emulasi media print; dialog cetak browser asli tidak dibuka di lingkungan demo.
- Dana HS Leasing masuk ke Laporan Kas Harian di kolom Nota Sekunder baris Hutang Sementara walau bukan Nota Sekunder (sesuai keputusan spec; hanya catatan agar tidak membingungkan pembaca).
- Kolom "Finance Company" di Hutang Titipan KSM berisi nama akun sales (Budi Santoso), bukan nama finco, baik di layar (gambar 36–37) maupun di cetak (gambar 50).
- Judul kertas berbeda dari judul layar: Klaim SCP MPM tercetak "Laporan Piutang Sementara Klaim MPM"; Hutang Titipan KSM tercetak "Laporan Hutang Titipan (Jalur Penjualan KSM)". Tidak salah, tetapi perlu diketahui bila dokumen cetak dirujuk.
- Cetak: pada kertas A4 (tegak untuk Kas Harian, Perincian, Klaim SCP; lanskap untuk lainnya) tidak ada kolom terpotong pada data demo. Satu-satunya yang rapat adalah Tgl Bayar di Piutang Angsuran; tabel dengan banyak baris atau banyak pencairan per baris tidak diuji untuk pemotongan halaman.
- Menu: Admin PDI tidak punya grup Nota; Sales dan SPV punya grup Nota dengan Transaksi saja. Pada halaman ditolak, sidebar menampilkan grup Master.
- Kolom aksi terpotong di tab Piutang Sementara Unit dan TAC pada 1680 px (tombol "Catat pelunasan" terbaca "Catat pelu..."); perlu menggeser tabel (gambar 67, 71).
Catatan teknis gambar
- Skrip:
_tools/laporan-nota.mjs(alur 1–9),_tools/laporan-nota-lanjut.mjs(alur 10–13), dan_tools/laporan-nota-data.mjs(data via API). Jalankan denganDEMO_API,DEMO_WEB,DEMO_DB; skrip menyeed ulang database di awal. - Tanggal transaksi lama (PS Harian 15 dan 20 hari, KDS 40 hari) diatur langsung di database karena tidak ada endpoint untuk memundurkannya.
- Gambar 39–40 diambil dengan media print pada lebar kertas A4 (794 px tegak, 1123 px lanskap).