Skip to main content

Versi 1

FieldIsi
Dokumen IDVBS-PJL-003
DeskripsiPenjualan aset perusahaan kepada customer: memilih aset dari batch masuk aset (Master Aset, bukan Master Barang), menentukan harga, PPN, dan metode pembayaran, lalu mengelola status draft/final invoice
Nomor Revisi1
Tanggal2026-10-04
KeteranganDokumentasi baseline dari dokumentasi fitur demo dan kode FE

1. Ringkasan​

a. In scope​

  • User melihat daftar invoice penjualan aset (tanggal, nomor invoice, customer, jatuh tempo, total, tagihan, keterangan, status)
  • User memfilter daftar berdasarkan nomor invoice, tanggal invoice, jatuh tempo, customer, status selesai / belum selesai, dan status lunas
  • User membuat penjualan aset: tanggal, customer, cabang, lokasi, cluster, tempo, faktur pajak, PPN keluaran, keterangan, baris aset dari batch masuk aset, dan metode pembayaran
  • User membuat penjualan aset atas afkir (khusus hak afkir)
  • User mengubah invoice penjualan aset yang masih draft
  • User melihat detail dan mencetak invoice penjualan aset
  • User mengembalikan invoice final ke draft, menghapus invoice draft, dan membuat pembayaran piutang dari invoice yang belum lunas

b. Catatan​

c. Kesimpulan​

  • [FE] -
  • [BE] -

2. Functional Requirement​

KodeDeskripsi
FR-01Sistem menampilkan daftar invoice penjualan aset dengan kolom tanggal, nomor invoice, customer, jatuh tempo, total, tagihan, keterangan, dan status
FR-02User dapat memfilter daftar berdasarkan nomor invoice, tanggal invoice, jatuh tempo, customer, status, dan lunas
FR-03User dapat membuat penjualan aset dengan baris aset yang dipilih dari batch masuk aset beserta qty, harga, diskon, PPN, dan keterangan
FR-04Qty jual per baris tidak boleh melebihi sisa qty batch aset
FR-05User dapat menyimpan penjualan aset sebagai draft atau final, dengan metode pembayaran untuk tempo 0
FR-06User dapat mengubah invoice penjualan aset draft
FR-07User dapat melihat detail dan mencetak invoice penjualan aset
FR-08User dengan hak draft dapat unlock invoice final ke draft dan menghapus invoice draft
FR-09User dapat membuat pembayaran piutang dari invoice penjualan aset final yang belum lunas

3. Use Case List​

KodeDeskripsi
UC-01Melihat dan memfilter daftar penjualan aset
UC-02Membuat penjualan aset
UC-03Memilih aset dari batch masuk aset
UC-04Mengubah penjualan aset draft
UC-05Melihat detail dan mencetak invoice penjualan aset
UC-06Membuka kembali (unlock) invoice penjualan aset ke draft
UC-07Menghapus invoice penjualan aset draft
UC-08Membuat pembayaran piutang dari penjualan aset

4. Use Case Scenario​

UC-01 : Melihat dan memfilter daftar penjualan aset​

AktorUser dengan hak lihat penjualan aset
DeskripsiUser melihat daftar invoice penjualan aset dan menyaringnya
PrekondisiUser sudah login
Brand aktif
Alur utama1. User membuka menu Penjualan Aset.
2. Sistem menampilkan daftar invoice penjualan aset.
3. User mencari nomor invoice atau memilih filter tanggal invoice, jatuh tempo, customer, status, dan lunas.
4. Sistem memuat ulang daftar sesuai filter.
Alur negatif- Jika tidak ada data, tampil keadaan daftar kosong.
- Jika gagal memuat, daftar kosong.
Bisnis rule- Tanpa hak lihat semua (#penjualan-aset all), daftar dibatasi invoice user sendiri.
- User non admin dengan batasan cabang hanya melihat invoice di cabang yang diizinkan.
- Status selesai = final, belum selesai = draft.
PostkondisiDaftar tampil sesuai filter
TriggerUser membuka menu / mengubah filter
Kode FRFR-01
FR-02

UC-02 : Membuat penjualan aset​

AktorUser dengan hak tambah penjualan aset
DeskripsiUser mencatat penjualan aset kepada customer
PrekondisiUser memiliki hak #penjualan-aset basic
Ada batch aset masuk dengan sisa qty
Alur utama1. User klik Buat Invoice (atau Buat atas Afkir).
2. User mengisi tanggal, customer, cabang, lokasi, cluster, tempo pembayaran, nomor faktur pajak, PPN keluaran, dan keterangan nota.
3. User menambah baris aset (lihat UC-03), mengisi qty, harga, diskon, PPN, dan keterangan.
4. User mengisi metode pembayaran bila tempo 0.
5. User klik Simpan Draft atau Simpan Final, lalu konfirmasi untuk final.
6. Sistem membuat invoice penjualan aset.
Alur negatif- Jika form belum valid, muncul "Tolong lengkapi form dengan benar!".
- Jika cabang kosong, muncul "Tolong lengkapi gudang form dengan benar!".
- Jika customer melewati batas jumlah nota / piutang saat final bertempo, muncul peringatan "Customer Tersebut telah mencapai batas ...".
- Jika mode multi cabang dan cabang baris kosong, muncul "Tolong lengkapi gudang rincian dengan benar!".
- Jika tempo 0 dan metode pembayaran tidak valid, muncul "Metode Pembayaran Harus Diisi".
Bisnis rule- Aset dipilih dari Master Aset melalui batch masuk aset, bukan dari Master Barang.
- Tempo 0 wajib metode pembayaran; titipan DP dapat dipakai sebagai metode.
- Penjualan atas afkir menandai invoice atas_afkir dan setiap baris membawa afkir_id.
- Tanggal awal aset masuk diambil dari batch paling awal di rincian.
PostkondisiInvoice penjualan aset tersimpan sebagai draft atau final
TriggerUser klik Simpan
Kode FRFR-03
FR-05

UC-03 : Memilih aset dari batch masuk aset​

AktorUser dengan hak tambah penjualan aset
DeskripsiUser memilih aset yang akan dijual berdasarkan batch pemasukan aset
PrekondisiForm penjualan aset terbuka dan cabang sudah dipilih
Alur utama1. User membuka pilihan batch masuk aset pada baris rincian.
2. Sistem menampilkan batch aset di cabang terpilih yang masih memiliki sisa qty.
3. User memilih batch.
4. Sistem mengisi nama aset, tanggal perolehan, harga beli per unit, nilai susut, dan qty default sesuai sisa batch.
Alur negatif- Jika qty lebih besar dari sisa batch, muncul "Qty tidak boleh lebih dari qty sisa".
- Jika batch atau qty kosong, muncul "Batch Masuk Aset, Qty dan Satuan Tidak Boleh Kosong!".
Bisnis rule- Batch yang tampil hanya batch dengan sisa qty lebih dari 0.
- Satu baris mewakili satu batch masuk aset.
PostkondisiBaris aset terisi
TriggerUser memilih batch masuk aset
Kode FRFR-03
FR-04

UC-04 : Mengubah penjualan aset draft​

AktorUser dengan hak tambah penjualan aset
DeskripsiUser memperbarui invoice penjualan aset yang masih draft
PrekondisiInvoice berstatus draft
Alur utama1. User memilih Edit.
2. Sistem memuat invoice beserta baris aset.
3. User mengubah data lalu menyimpan draft atau final.
4. Sistem memperbarui invoice.
Alur negatif- Jika invoice tidak ditemukan, user dikembalikan ke daftar.
- Validasi form sama seperti pembuatan.
Bisnis rule- Edit hanya tersedia untuk invoice draft.
PostkondisiInvoice penjualan aset terbarui
TriggerUser klik Edit lalu Simpan
Kode FRFR-06

UC-05 : Melihat detail dan mencetak invoice penjualan aset​

AktorUser dengan hak lihat penjualan aset
DeskripsiUser melihat detail invoice dan mencetak nota
PrekondisiInvoice tersedia
Alur utama1. User memilih Lihat.
2. Sistem menampilkan informasi invoice, rincian aset, dan pembayaran.
3. User klik Cetak.
4. Sistem menandai invoice tercetak dan menampilkan cetak nota.
Alur negatif- Jika gagal menandai cetak, muncul pesan error dari sistem.
Bisnis rule- Cetak ulang invoice final mengikuti hak reprint.
PostkondisiNota tercetak
TriggerUser klik Lihat / Cetak
Kode FRFR-07

UC-06 : Membuka kembali (unlock) invoice penjualan aset ke draft​

AktorUser dengan hak draft penjualan aset
DeskripsiUser mengubah invoice final menjadi draft
PrekondisiInvoice berstatus final
Alur utama1. User memilih "Ubah ke Simpan Draft" di halaman detail.
2. Sistem mengubah invoice menjadi draft.
3. Muncul "Berhasil Ubah ke Simpan Draft Invoice ...".
Alur negatif- Jika ditolak sistem, muncul pesan error dari sistem.
Bisnis rule- Hanya untuk hak #can-draft dan hak draft #penjualan-aset.
PostkondisiInvoice berstatus draft
TriggerUser klik Ubah ke Simpan Draft
Kode FRFR-08

UC-07 : Menghapus invoice penjualan aset draft​

AktorUser dengan hak draft penjualan aset
DeskripsiUser menghapus invoice draft
PrekondisiInvoice berstatus draft
Alur utama1. User memilih Hapus di halaman detail.
2. Sistem menghapus invoice.
3. Muncul "Berhasil Hapus Invoice ..." dan kembali ke daftar.
Alur negatif- Jika gagal, muncul pesan error dari sistem.
Bisnis rule- Hapus hanya untuk invoice draft.
PostkondisiInvoice terhapus
TriggerUser klik Hapus
Kode FRFR-08

UC-08 : Membuat pembayaran piutang dari penjualan aset​

AktorUser dengan hak tambah pembayaran piutang
DeskripsiUser langsung membuat pembayaran piutang untuk invoice penjualan aset yang belum lunas
PrekondisiInvoice final dan belum lunas
User memiliki hak #pembayaran-piutang basic
Alur utama1. User memilih Buat Pembayaran Piutang di halaman detail.
2. Sistem membuka form pembayaran piutang dengan customer dan invoice terisi.
Alur negatif- Menu tidak tampil bila invoice sudah lunas atau masih draft.
Bisnis rule- Proses pembayaran berlanjut di fitur Pembayaran Piutang (VBS-PJL-004).
PostkondisiForm pembayaran piutang terbuka
TriggerUser klik Buat Pembayaran Piutang
Kode FRFR-09

5. Data Flow Diagram​

DFD-01​

6. Sequence Diagram​

SD-01 — UC-01 : Melihat dan memfilter daftar penjualan aset​

SD-02 — UC-02 : Membuat penjualan aset​

SD-03 — UC-03 : Memilih aset dari batch masuk aset​

SD-04 — UC-04 : Mengubah penjualan aset draft​

SD-05 — UC-05 : Melihat detail dan mencetak invoice penjualan aset​

SD-06 — UC-06 : Membuka kembali (unlock) invoice penjualan aset ke draft​

SD-07 — UC-07 : Menghapus invoice penjualan aset draft​

SD-08 — UC-08 : Membuat pembayaran piutang dari penjualan aset​

7. Table Schema​

8. API Schema​

EndpointStatusPerubahan
GET /invoice-penjualan-asetexisting-
GET /invoice-penjualan-aset/:idexisting-
PUT /invoice-penjualan-aset/invoice-only/:idexisting-
PUT /invoice-penjualan-aset/unlock/:idexisting-
DELETE /invoice-penjualan-aset/:idexisting-
POST /penjualan-asetexisting-
PUT /penjualan-aset/:idexisting-
GET /aset-masukexisting-
GET /asetexisting-
GET /customerexisting-