Demo — Nota Cetak
Panduan demo per alur untuk bagian Nota Cetak pada halaman detail Transaksi (Nota → Transaksi → buka transaksi → Nota Cetak). Nota Cetak adalah nota resmi per transaksi: tiap jenis (OTR, Kosongan, BBN, Diskon, Surat Jalan, Pesanan Unit, dst.) dibuat dari data transaksi, mendapat nomor nota, bisa dicetak, dan bisa dibatalkan. Setiap alur menyebut siapa yang mengerjakan (role), langkahnya, dan tangkapan layar.
Semua gambar diambil dari build develop yang berjalan dengan data uji (database terpisah, satu akun per role, cabang Cabang E2E A, pelanggan Slamet Riyadi, unit Beat Street CBS).
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.
- 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, 3, 4, 5, 6, 7, 9, 10 |
| SPV | Yusuf Hidayat | e2e_spv | 8, 10 |
| Kepala Cabang | Dewi Lestari | e2e_kepala_cabang | 9 |
| ADH | Sri Wahyuni | e2e_adh | 9 |
| Sales | Budi Santoso | e2e_sales | 10 |
| Kawil | Bambang Sutrisno | e2e_kawil | 10 |
Password semua akun uji sama. Data transaksi (harga, DP, angsuran, leasing, pengiriman) disiapkan lewat API sebelum demo.
Siapa boleh apa
| Kegiatan | Role |
|---|---|
| Generate nota (satu jenis / semua), ubah keterangan nota approve | Superadmin, Kepala Cabang, Admin H1, ADH |
| Batalkan nota | Superadmin, Kepala Cabang, ADH |
| Tandai SCP selesai (menerbitkan Nota SCP) | Superadmin, Kepala Cabang, Admin H1, SPV, ADH |
| Melihat daftar nota dan membuka tampilan cetak | Superadmin, Kawil, Kepala Cabang, Admin H1, Sales, SPV, ADH |
Role yang tidak berhak tidak melihat tombolnya; bila dipanggil langsung ke API jawabannya 403 Role <role> is not allowed here.
Alur satu halaman
Transaksi (booked, field lanjutan terisi)
|
v
Generate nota (per jenis | semua) -> nota Approve + No Nota
| |
| Cetak (template A-E) Ubah keterangan
v |
SCP selesai -> Nota SCP otomatis v
Batalkan nota (Kepala Cabang / ADH) -> Batal -> generate ulang (nomor baru)
1. Generate nota per jenis
Role: Admin H1 (Rina Marlina)
Transaksi tunai E2E-A/2026/tunai/0001: Harga OTR Rp 41.400.000, Harga Kosongan Rp 35.435.000, Biaya BBN Rp 5.965.000, Diskon Rp 200.000, Delivery Man dan Tgl Kirim terisi. Field lanjutan tampil abu-abu (hanya baca) untuk Admin H1.
- Buka detail transaksi. Bagian Nota Cetak masih kosong ("Belum ada nota.") dengan tombol Generate semua dan Generate nota.
- Tekan Generate nota, pilih Jenis Nota (di sini OTR). Pembayaran Via diisi Tunai atau Non tunai; nota Netral (OTR, Surat Jalan, DP Struktur Kredit) selalu tersimpan non tunai.
- Jumlah disalin dari transaksi; Keterangan dikosongkan agar memakai keterangan baku jenis itu.
- Tekan Generate. Ulangi untuk BBN dan Kosongan. Jenis yang sudah approve hilang dari pilihan (kecuali Pesanan Unit dan Pengembalian Pesanan).



Hasil: tiga nota Approve. OTR Netral / Non tunai Rp 41.400.000; BBN BKM / Tunai Rp 5.965.000 dengan keterangan baku HUTANG TTP BBN Matic A/N Slamet Riyadi E2E-A/2026/tunai/0001; Kosongan BKM / Tunai Rp 35.435.000.

Tabel nota lebih lebar dari kolomnya; kolom Cetak, Ubah keterangan, dan Batalkan ada di kanan dan baru terlihat setelah tabel digeser (lihat Temuan).

2. Generate semua
Role: Admin H1 (Rina Marlina)
Transaksi tunai E2E-A/2026/tunai/0002 dengan harga dan pengiriman terisi.
- Tekan Generate semua, pilih Pembayaran Via, tekan Generate semua.
- Dialog menampilkan hasil: 5 nota dibuat (OTR No. 2, Kosongan No. 2, BBN No. 2, Diskon No. 1, Surat Jalan No. 1) dan 1 jenis dilewati beserta alasannya (Pesanan Unit: "Jumlah titipan diinput manual").
- Nota Surat Jalan dibuat paling akhir dan transaksi berubah menjadi Terkirim.



Jenis tanpa data (nominal 0, atau Surat Jalan tanpa Delivery Man / Tgl Kirim) dilewati dengan alasan, bukan gagal.
3. Jenis nota: tunai / KDS dan kredit
Role: Admin H1 (Rina Marlina)
Pilihan Jenis Nota mengikuti tipe pembayaran transaksi.
- Tunai dan KDS: 7 jenis — Pesanan Unit, OTR, Kosongan, BBN, Diskon, Surat Jalan, Pengembalian Pesanan.
- Kredit: 12 jenis — 7 jenis di atas ditambah DP (Struktur Kredit), Hutang Titipan PIC, Ekstra Subsidi, Piutang Sementara, Piutang Sementara TAC.
- SCP tidak ada di pilihan: terbit otomatis (alur 8).


4. Nota kredit dan editor rincian PS TAC
Role: Admin H1 (Rina Marlina)
Transaksi kredit E2E-A/2026/kredit/0004 lewat PT Federal International Finance: DP Gross Rp 4.800.000, DP Bayar Rp 2.350.000, angsuran Rp 1.473.000 x 35 bulan, Piutang Sementara TAC Rp 4.250.000.
- Generate nota → DP (Struktur Kredit): Netral, Non tunai, Rp 2.350.000.
- Generate nota → Piutang Sementara TAC: muncul editor Rincian PS TAC (satu baris per nominal, Tambah baris, Hapus) dengan total berjalan "Total Rp … dari Rp 4.250.000".
- Bila total rincian berbeda dari piutang sementara TAC (di sini 2.000.000 + 1.400.000 = Rp 3.400.000), tekan Generate ditolak: "Total rincian (Rp 3.400.000) harus sama dengan piutang sementara TAC (Rp 4.250.000)".
- Setelah rincian 2.850.000 + 1.400.000 = Rp 4.250.000, nota terbit. Keterangan baku memuat rincian dalam ribuan:
PS TAC 2850+1400 Matic U/ DT : ….



5. Tampilan cetak (template)
Role: Admin H1 (Rina Marlina)
Tombol Cetak pada baris nota membuka /transaksi/nota/<id>; tombol Cetak di halaman itu mengirim hanya area nota ke printer. Judul memuat jenis, nomor nota, dan nomor kontrak. Nota yang batal diberi kotak DIBATALKAN.
- DP (Struktur Kredit) — template B: Terima Dari pelanggan, uang muka, masa angsuran 35 bulan x Rp 1.473.000, kontrak uang muka Rp 4.800.000, terbilang.

- Piutang Sementara TAC — template C: slip keluar, ditujukan ke finco, keterangan memuat rincian, kolom paraf.

- OTR — template A: pembayaran satu unit, data unit (rangka, mesin, tahun, warna), "KOMPLIT".

- Surat Jalan — template E: dua lembar, data unit dan perlengkapan, tanda tangan penerima.

Pesanan Unit memakai template D (judul NOTA PESANAN UNIT); BBN, DP, Hutang Titipan PIC, Ekstra Subsidi, dan SCP memakai template B; Diskon, Pengembalian, Piutang Sementara, dan PS TAC memakai template C.
6. Pesanan Unit dan Pengembalian Pesanan
Role: Admin H1 (Rina Marlina)
Transaksi tunai E2E-A/2026/tunai/0005.
- Generate nota → Pesanan Unit: kolom Jumlah muncul dan diisi manual (di sini Rp 1.000.000, titipan). Boleh lebih dari satu nota Pesanan Unit.
- Generate nota → Pengembalian Pesanan: pilih Nota Pesanan Unit asal (
No. 1 — sisa Rp 1.000.000); jumlah terisi sisa saldo dan boleh dikecilkan. - Jumlah di atas sisa saldo ditolak: "Jumlah melebihi sisa saldo (Rp 1.000.000)" (di sini Rp 1.200.000).
- Pengembalian Rp 400.000 diterima: BKK, keterangan
PENGEMBALIAN TITIPAN UNIT NO NOTA 1 Matic. Nota asal kini memuat Sisa Saldo Rp 600.000.




7. Ubah keterangan
Role: Admin H1 (Rina Marlina)
Pada baris nota yang masih Approve, tekan Ubah keterangan. Hanya keterangan (teks yang tercetak di nota) yang bisa diubah; jumlah dan jenis tidak. Nota batal tidak punya tombol ini.


8. Nota SCP otomatis
Role: SPV (Yusuf Hidayat)
SCP tidak dibuat lewat Generate nota.
- Pada bagian SCP, isi Nominal SCP (Rp 150.000) lalu Simpan nominal.
- Pilih pembayaran (Non tunai / Tunai), tekan Tandai selesai, konfirmasi "Nota SCP sebesar Rp 150.000 … langsung diterbitkan".
- Nominal terkunci dan baris SCP (BKM, penerima MPM, keterangan
SCP Matic U/ DT : E2E-A/2026/kredit/0004 A/N Slamet Riyadi) muncul di daftar. SPV tidak punya tombol Generate.



Untuk mengoreksi, nota SCP dibatalkan (alur 9); SCP terbuka kembali (teks di bagian SCP setelah selesai).
9. Batalkan nota dan generate ulang
Role: Kepala Cabang (Dewi Lestari), ADH (Sri Wahyuni), Admin H1 (Rina Marlina)
- Kepala Cabang menekan Batalkan pada nota OTR. Dialog: "Nota tetap tersimpan berstatus batal dan nomornya tidak dipakai ulang."
- Nota berstatus Batal; hanya Cetak yang tersisa di barisnya.
- Admin H1 menekan Generate nota → OTR lagi: nota baru dengan nomor baru (nomor 3; nomor 1 tetap milik nota batal).



Membatalkan Surat Jalan (di sini oleh ADH) juga mengembalikan transaksi dan unit ke Booked, dan dialognya menyebutkannya. Membatalkan SCP membuka SCP kembali.


10. Role yang tidak boleh
Role: Admin H1 (Rina Marlina), SPV (Yusuf Hidayat), Sales (Budi Santoso), Kawil (Bambang Sutrisno)
- Admin H1 boleh generate dan ubah keterangan, tetapi tidak ada tombol Batalkan.
- SPV, Sales, Kawil hanya melihat daftar dan menekan Cetak; tidak ada Generate semua, Generate nota, Ubah keterangan, maupun Batalkan.




Penolakan di API yang diamati:
| Percobaan | Jawaban |
|---|---|
| Sales / SPV generate nota | 403 Role sales is not allowed here |
| Admin H1 / SPV / Kawil batalkan nota | 403 Role admin_h1 is not allowed here |
Generate jenis scp | 400 Nota SCP dibuat otomatis saat scp_selesai menjadi true |
| Kosongan kedua selagi yang pertama approve | 409 Nota kosongan masih approve |
| DP Struktur Kredit pada transaksi tunai | 400 Nota dp_struktur_kredit hanya berlaku untuk transaksi kredit |
| Batalkan nota yang sudah batal | 400 Nota cetak sudah dibatalkan |
11. Tampilan cetak jenis lain dan media print
Role: Admin H1 (Rina Marlina)
Transaksi kredit E2E-A/2026/kredit/0001 dengan semua nota terbit. Tiap jenis memakai salah satu dari lima template:
| Jenis | Template | Yang tampil |
|---|---|---|
| Pesanan Unit | D | judul NOTA PESANAN UNIT, titipan Rp 1.000.000, keterangan baku "Harga sewaktu waktu bisa berubah" |
| Pengembalian Pesanan | C | slip keluar, keterangan PENGEMBALIAN TITIPAN UNIT NO NOTA 1 Matic |
| Hutang Titipan PIC, Ekstra Subsidi | B | Terima Dari finco, jumlah, terbilang, keterangan |
| Piutang Sementara | C | slip keluar ke finco |
| Kosongan | A | pembayaran satu unit, data unit, kotak BBN / Diskon / PS / SUB, "Berupa : KREDIT / Budi Santoso" |
| BBN | B | Terima Dari pelanggan |
| SCP | B | Terima Dari MPM, alamat kosong |








Media print. Gambar berikut adalah halaman Nota Pesanan Unit dengan media cetak (@media print): menu, judul, dan tombol hilang; hanya area nota yang keluar ke printer, memenuhi lebar kertas tanpa bingkai.

Nota batal tetap bisa dibuka dan dicetak; judul halaman memuat "sudah dibatalkan" dan nota diberi kotak DIBATALKAN di atasnya.

Temuan
- Tabel nota terpotong di kanan. Pada transaksi yang notanya bisa diubah/ dibatalkan, tabel Nota Cetak lebih lebar dari kolomnya (lebar 1680 px): kolom Sisa Saldo dan tombol Cetak / Ubah keterangan / Batalkan hanya terlihat setelah menggeser tabel ke kanan. Bagi peran hanya-baca, tombol Cetak ikut tersembunyi di kanan. Keterangan panjang membuat baris tinggi dan sempit.
- Nomor nota berurutan per jenis di cabang, bukan per transaksi: OTR transaksi 0002 mendapat No. 2, OTR pengganti pada transaksi 0001 mendapat No. 3. Nomor nota batal tidak dipakai ulang.
- Surat Jalan berjumlah Rp 0 dan Netral; transaksi menjadi Terkirim hanya bila Delivery Man dan Tgl Kirim terisi.
- Nota SCP mencetak "Terima Dari : MPM" dengan Alamat kosong; Surat Jalan tercetak dua lembar identik. Keduanya sesuai kode template, tetapi baris Alamat kosong terlihat janggal di kertas.
- FDS 5.1 menyebut SPV boleh membatalkan nota; matriks 5.2 dan aplikasi menolak (SPV hanya baca). Catatan ini sudah ada di
feature-access.ts, perlu konfirmasi klien.
Catatan teknis
- Data demo ada di database
tirto_demo3_e2e, terpisah dari database dev. - Skrip:
_tools/nota-cetak.mjs, bisa diulang dari nol. - Gambar yang menampilkan daftar bergeser ditandai nama berakhiran
b.