Versi 1
| Field | Isi |
|---|---|
| Dokumen ID | VBS-MST-009 |
| Deskripsi | Master customer: mendaftarkan pelanggan baru atau dari buku kontak, mengatur jenis customer, sales, customer konsinyasi, PIC, batas piutang, tempo pembayaran, maksimal nota, dan akun, serta memantau saldo titipan dan mengirim QR code customer |
| Nomor Revisi | 1 |
| Tanggal | 2026-10-04 |
| Keterangan | Dokumentasi baseline dari dokumentasi fitur demo dan kode FE |
1. Ringkasan
a. In scope
- User dapat melihat daftar customer dengan nama, kode customer, jenis customer, tempo pembayaran, maksimal piutang, maksimal nota, dan saldo titipan
- User dapat mencari customer berdasarkan nama dan memfilter berdasarkan jenis customer
- User dapat menambah customer baru atau dari buku kontak
- User dapat menandai customer sebagai customer konsinyasi, memilih jenis customer, sales, dan PIC kontak
- User dapat mengatur piutang: maksimal piutang, tempo pembayaran, dan maksimal jumlah nota
- User dapat memilih akun piutang, hutang gaji dan THR, hutang komisi, dan biaya gaji
- User dapat membuat QR code customer dan mengirimkannya ke WhatsApp
- User dapat melihat detail, mengubah, dan menghapus customer, serta membuka arsip customer
b. Catatan
c. Kesimpulan
- [FE] -
- [BE] -
2. Functional Requirement
| Kode | Deskripsi |
|---|---|
| FR-01 | Sistem menampilkan daftar customer aktif beserta jenis customer dan pengaturan piutang |
| FR-02 | Sistem menampilkan saldo titipan dari sisa DP tercetak per customer |
| FR-03 | User dapat mencari berdasarkan nama dan memfilter berdasarkan jenis customer |
| FR-04 | User dapat menambah customer baru atau dari buku kontak |
| FR-05 | User dapat mengatur jenis customer, sales, customer konsinyasi, dan PIC |
| FR-06 | User dapat mengatur maksimal piutang, tempo pembayaran, dan maksimal jumlah nota |
| FR-07 | User dapat memilih akun piutang (1204), hutang gaji (2206), hutang komisi (2207), dan biaya gaji (akun 5 / 6) |
| FR-08 | User dapat membuat QR code customer dan mengirim QR code ke WhatsApp customer |
| FR-09 | User dapat melihat detail dan mengubah customer |
| FR-10 | User dapat menghapus customer dan melihat arsip customer |
3. Use Case List
| Kode | Deskripsi |
|---|---|
| UC-01 | Melihat dan memfilter daftar customer beserta saldo titipan |
| UC-02 | Menambah customer baru |
| UC-03 | Menambah customer dari buku kontak |
| UC-04 | Melihat detail customer |
| UC-05 | Mengubah customer, pengaturan piutang, dan akun |
| UC-06 | Membuat dan mengirim QR code customer ke WhatsApp |
| UC-07 | Menghapus customer |
| UC-08 | Memulihkan customer dari arsip |
4. Use Case Scenario
UC-01 : Melihat dan memfilter daftar customer beserta saldo titipan
| Aktor | User brand dengan hak #customer |
| Deskripsi | User melihat daftar customer dan saldo titipannya |
| Prekondisi | User sudah login |
| Alur utama | 1. User membuka menu Master, Kontak, Customer. 2. Sistem menampilkan daftar customer. 3. Sistem memuat saldo titipan per customer. 4. User mencari nama atau memilih jenis customer. |
| Alur negatif | - Jika gagal memuat, daftar kosong. |
| Bisnis rule | - Saldo titipan = jumlah sisa DP tercetak yang masih di atas 0 per customer. |
| Postkondisi | Daftar customer tampil |
| Trigger | User membuka menu Customer |
| Kode FR | FR-01 FR-02 FR-03 |
UC-02 : Menambah customer baru
| Aktor | User brand dengan hak basic |
| Deskripsi | User mendaftarkan customer yang belum ada di buku kontak |
| Prekondisi | Jenis customer dan karyawan sales tersedia (opsional) |
| Alur utama | 1. User klik Tambah. 2. User mengisi nama depan, nama belakang, customer konsinyasi, jenis customer, sales, PIC. 3. User mengisi email, nomor HP, provinsi, kota, alamat. 4. User mengisi maksimal piutang, tempo pembayaran, maksimal nota. 5. User memilih akun. 6. User klik Simpan. 7. Sistem menampilkan "Berhasil buat Customer". |
| Alur negatif | - Jika form tidak valid, muncul "Silahkan cek kembali form isian!". - Jika simpan gagal, muncul pesan error dari server. |
| Bisnis rule | - Relasi otomatis customer. - Tempo, maksimal piutang, dan maksimal nota kosong disimpan 0. - Customer konsinyasi default tidak aktif. |
| Postkondisi | Kontak dan customer baru tersimpan |
| Trigger | User klik Simpan |
| Kode FR | FR-04 FR-05 FR-06 FR-07 |
UC-03 : Menambah customer dari buku kontak
| Aktor | User brand dengan hak basic |
| Deskripsi | User menjadikan kontak yang ada sebagai customer |
| Prekondisi | Kontak ada di buku kontak |
| Alur utama | 1. User centang tambah dari buku kontak dan memilih kontak. 2. User melengkapi customer konsinyasi, jenis customer, sales, PIC, pengaturan piutang, dan akun. 3. User klik Simpan. |
| Alur negatif | - Sama seperti UC-02. |
| Bisnis rule | - Jika informasi kontak diubah, alamat lama ditandai dihapus dan alamat baru disimpan. - PIC dikirim dengan penanda berasal dari buku kontak. |
| Postkondisi | Kontak memiliki relasi customer |
| Trigger | User klik Simpan |
| Kode FR | FR-04 FR-05 |
UC-04 : Melihat detail customer
| Aktor | User brand dengan hak view |
| Deskripsi | User melihat data customer |
| Prekondisi | Customer sudah ada |
| Alur utama | 1. User klik baris customer. 2. Sistem memuat kontak dan customer, lalu menampilkan detail. |
| Alur negatif | - Jika gagal memuat, detail kosong. |
| Bisnis rule | - |
| Postkondisi | Detail tampil |
| Trigger | User klik baris |
| Kode FR | FR-09 |
UC-05 : Mengubah customer, pengaturan piutang, dan akun
| Aktor | User brand dengan hak basic |
| Deskripsi | User memperbarui data customer |
| Prekondisi | Customer sudah ada |
| Alur utama | 1. User membuka halaman ubah customer. 2. Sistem memuat kontak, provinsi, customer, jenis customer, kontak, karyawan, dan akun. 3. User mengubah data lalu klik Simpan. 4. Sistem menampilkan "Berhasil diupdate". |
| Alur negatif | - Jika gagal, muncul pesan error dari server. |
| Bisnis rule | - PIC yang dihapus ikut dikirim agar dihapus di server. - Tempo pembayaran negatif / kosong disimpan 0. |
| Postkondisi | Customer terbarui |
| Trigger | User klik Simpan |
| Kode FR | FR-05 FR-06 FR-07 FR-09 |
UC-06 : Membuat dan mengirim QR code customer ke WhatsApp
| Aktor | User brand |
| Deskripsi | User membuat QR code identitas customer atau mengirimnya ke WhatsApp |
| Prekondisi | Customer ada di daftar |
| Alur utama | 1. User klik buat QR code: sistem membuka jendela baru berisi QR code customer. 2. Atau user klik kirim QR code: sistem mengirim QR ke WhatsApp customer dan menampilkan "Berhasil Kirim Qr Code ke Whatsapp". |
| Alur negatif | - Jika pembuatan / pengiriman gagal, muncul pesan error. |
| Bisnis rule | - Isi QR: id, nama, kode customer, dan jenis customer. |
| Postkondisi | QR code tampil atau terkirim |
| Trigger | User klik aksi QR code |
| Kode FR | FR-08 |
UC-07 : Menghapus customer
| Aktor | User brand dengan hak basic |
| Deskripsi | User menghapus customer |
| Prekondisi | Customer ada di daftar |
| Alur utama | 1. User klik hapus. 2. Sistem meminta konfirmasi "Anda yakin ingin menghapus customer (nama)?". 3. User konfirmasi. 4. Sistem menampilkan "Berhasil hapus customer". |
| Alur negatif | - Jika server menolak, muncul pesan error dari server. |
| Bisnis rule | - Customer terhapus tampil di arsip (status tidak aktif). |
| Postkondisi | Customer tidak tampil di daftar aktif |
| Trigger | User klik hapus |
| Kode FR | FR-10 |
UC-08 : Memulihkan customer dari arsip
| Aktor | User brand dengan hak archive |
| Deskripsi | User memilih customer di arsip untuk diaktifkan kembali |
| Prekondisi | Ada customer tidak aktif |
| Alur utama | 1. User membuka Arsip customer. 2. User mencentang customer, klik pulihkan, dan konfirmasi. 3. Sistem menampilkan "Berhasil memulihkan Customer terpilih" dan membuang baris dari daftar arsip. |
| Alur negatif | - Jika gagal, muncul pesan error. |
| Bisnis rule | - Aksi pemulihan memanggil action store customer/updateBulk yang tidak tersedia, sehingga tidak ada permintaan ke server dan status customer tidak berubah. |
| Postkondisi | Baris hilang dari tampilan arsip, data server tidak berubah |
| Trigger | User klik pulihkan |
| Kode FR | FR-10 |
5. Data Flow Diagram
DFD-01
6. Sequence Diagram
SD-01 — UC-01 : Melihat dan memfilter daftar customer beserta saldo titipan
SD-02 — UC-02 : Menambah customer baru
SD-03 — UC-03 : Menambah customer dari buku kontak
SD-04 — UC-04 : Melihat detail customer
SD-05 — UC-05 : Mengubah customer, pengaturan piutang, dan akun
SD-06 — UC-06 : Membuat dan mengirim QR code customer ke WhatsApp
SD-07 — UC-07 : Menghapus customer
SD-08 — UC-08 : Memulihkan customer dari arsip
7. Table Schema
8. API Schema
| Endpoint | Status | Perubahan |
|---|---|---|
GET /customer | existing | - |
GET /customer/:id | existing | - |
POST /customer | existing | - |
POST /customer/existing | existing | - |
POST /customer/update-enchanced/ | existing | - |
POST /customer/send-to-wa/:id | existing | - |
DELETE /customer/:id | existing | - |
POST /financial-report/invoice-dp-report | existing | - |
GET /jenis-customer | existing | - |
GET /karyawan | existing | - |
GET /person | existing | - |
GET /person/:id | existing | - |
GET /rekening | existing | - |