Versi 1
| Field | Isi |
|---|---|
| Dokumen ID | VBS-PJL-008 |
| Deskripsi | Pelunasan atas barang konsinyasi yang sudah terjual oleh customer konsinyasi: memilih nota konsinyasi, mengisi qty terjual, harga, diskon, biaya, PPN, dan metode pembayaran, lalu sistem membentuk invoice penjualan final |
| Nomor Revisi | 1 |
| Tanggal | 2026-10-04 |
| Keterangan | Dokumentasi baseline dari dokumentasi fitur demo dan kode FE |
1. Ringkasan
a. In scope
- User memilih customer konsinyasi dan melihat nota penjualan konsinyasi final yang masih memiliki sisa barang
- User memilih satu atau beberapa nota untuk diproses pelunasannya
- User mengisi qty barang yang terjual per nota, harga, dan diskon
- User mengaktifkan opsi diskon 1, diskon 2, diskon global, biaya lain, dan PPN sesuai kebutuhan
- User mengisi metode pembayaran (termasuk titipan DP) lalu menyimpan pelunasan
- Hasil pelunasan adalah invoice penjualan final atas nama customer konsinyasi
b. Catatan
c. Kesimpulan
- [FE] -
- [BE] -
2. Functional Requirement
| Kode | Deskripsi |
|---|---|
| FR-01 | Sistem menampilkan daftar nota penjualan konsinyasi final per customer konsinyasi beserta rincian sisa barang |
| FR-02 | User dapat memilih satu atau beberapa nota lalu membuka halaman proses pelunasan |
| FR-03 | User dapat mengisi qty terjual per barang yang tidak melebihi qty awal di nota, beserta harga dan diskon |
| FR-04 | User dapat menambahkan biaya lain kategori penjualan, diskon global, dan PPN |
| FR-05 | User wajib mengisi metode pembayaran dengan total pembayaran tidak kurang dari total penjualan |
| FR-06 | Sistem menyimpan pelunasan sebagai invoice penjualan final dari cabang milik customer konsinyasi |
3. Use Case List
| Kode | Deskripsi |
|---|---|
| UC-01 | Melihat nota konsinyasi customer yang belum lunas |
| UC-02 | Memilih nota dan membuka proses pelunasan |
| UC-03 | Mengisi barang terjual dan komponen harga |
| UC-04 | Mengisi metode pembayaran dan menyimpan pelunasan |
4. Use Case Scenario
UC-01 : Melihat nota konsinyasi customer yang belum lunas
| Aktor | User dengan hak pelunasan konsinyasi |
| Deskripsi | User melihat nota konsinyasi milik customer konsinyasi |
| Prekondisi | User sudah login Ada customer konsinyasi |
| Alur utama | 1. User membuka halaman Pelunasan Penjualan Konsinyasi. 2. Sistem memuat daftar customer konsinyasi. 3. User memilih customer. 4. Sistem menampilkan nota konsinyasi final customer tersebut beserta rincian barang (expand). |
| Alur negatif | - Jika gagal memuat atau tidak ada data, daftar nota kosong. |
| Bisnis rule | - Nota yang tampil hanya penjualan konsinyasi final. - Pilihan customer hanya customer bertanda konsinyasi. - Halaman tidak aktif di menu default, diakses lewat route langsung. |
| Postkondisi | Daftar nota customer tampil |
| Trigger | User memilih customer |
| Kode FR | FR-01 |
UC-02 : Memilih nota dan membuka proses pelunasan
| Aktor | User dengan hak pelunasan konsinyasi |
| Deskripsi | User memilih nota yang akan dilunasi |
| Prekondisi | Daftar nota customer tampil |
| Alur utama | 1. User mencentang satu atau beberapa nota. 2. User klik Proses. 3. Sistem membuka halaman proses dengan customer dan nota terpilih. 4. Sistem memuat data customer, cabang milik customer, dan rincian barang nota terpilih. |
| Alur negatif | - Jika nota terpilih tidak ditemukan, muncul "Data Tidak Ditemukan" dan user dikembalikan ke daftar. |
| Bisnis rule | - Cabang penjualan diambil dari cabang yang terhubung ke customer konsinyasi. |
| Postkondisi | Halaman proses pelunasan terbuka |
| Trigger | User klik Proses |
| Kode FR | FR-02 |
UC-03 : Mengisi barang terjual dan komponen harga
| Aktor | User dengan hak pelunasan konsinyasi |
| Deskripsi | User mengisi qty barang yang sudah terjual dan komponen perhitungan |
| Prekondisi | Halaman proses pelunasan terbuka |
| Alur utama | 1. User mengisi tanggal pelunasan. 2. User mengaktifkan opsi diskon 1, diskon 2, diskon global, biaya lain, atau PPN bila diperlukan. 3. User mengisi qty terjual, harga, dan diskon per barang. 4. User menambah biaya lain dan persen PPN bila diaktifkan. 5. Sistem menghitung total penjualan. |
| Alur negatif | - Jika qty melebihi qty awal di nota atau tidak valid, field ditandai tidak valid. - Jika informasi tidak valid, muncul "Informasi Data ada yang salah". - Jika biaya lain aktif tetapi tidak valid, muncul "Total Data ada yang salah". |
| Bisnis rule | - Qty terjual minimal 0 dan maksimal qty awal di nota. - Barang dengan qty 0 tidak ikut disimpan. - Biaya lain hanya dari biaya kategori penjualan. - Persen PPN default 10 bila tidak diisi. |
| Postkondisi | Total penjualan terhitung |
| Trigger | User mengisi form proses |
| Kode FR | FR-03 FR-04 |
UC-04 : Mengisi metode pembayaran dan menyimpan pelunasan
| Aktor | User dengan hak pelunasan konsinyasi |
| Deskripsi | User mencatat pembayaran dan menyimpan pelunasan |
| Prekondisi | Barang terjual dan total sudah terisi |
| Alur utama | 1. User menambah metode pembayaran dan nominalnya, atau memilih titipan DP. 2. User klik Simpan. 3. Sistem menyimpan pelunasan sebagai invoice penjualan final. 4. Muncul "Berhasil simpan pelunasan hutang konsinyasi" dan user kembali ke daftar. |
| Alur negatif | - Jika metode tidak valid, muncul "Metode Data ada yang salah". - Jika total penjualan lebih besar dari total pembayaran, muncul "Total penjualan lebih dari total pembayaran". - Jika gagal, muncul pesan error dari sistem. |
| Bisnis rule | - Pelunasan langsung final (tidak ada draft). - Tempo invoice mengikuti tempo pembayaran customer. - Metode pembayaran yang tersedia adalah metode pembayaran cabang. |
| Postkondisi | Invoice penjualan final atas barang konsinyasi terjual tersimpan |
| Trigger | User klik Simpan |
| Kode FR | FR-05 FR-06 |
5. Data Flow Diagram
DFD-01
6. Sequence Diagram
SD-01 — UC-01 : Melihat nota konsinyasi customer yang belum lunas
SD-02 — UC-02 : Memilih nota dan membuka proses pelunasan
SD-03 — UC-03 : Mengisi barang terjual dan komponen harga
SD-04 — UC-04 : Mengisi metode pembayaran dan menyimpan pelunasan
7. Table Schema
8. API Schema
| Endpoint | Status | Perubahan |
|---|---|---|
GET /customer | existing | - |
GET /customer/:id | existing | - |
GET /gudang | existing | - |
GET /laporan-piutang-konsinyasi | existing | - |
GET /sku/:id | existing | - |
GET /biaya | existing | - |
GET /metode-pembayaran | existing | - |
POST /penjualan | existing | - |