Skip to main content

Versi 1

FieldIsi
Dokumen IDVBS-MST-006
DeskripsiBuku kontak: daftar kontak umum perusahaan (perorangan atau badan hukum) beserta email, telepon, dan alamat, yang menjadi dasar pembuatan supplier, customer, dan karyawan
Nomor Revisi1
Tanggal2026-10-04
KeteranganDokumentasi baseline dari dokumentasi fitur demo dan kode FE

1. Ringkasan​

a. In scope​

  • User dapat melihat daftar kontak dengan nama, relasi kontak terhadap perusahaan (supplier, customer, karyawan), email, dan nomor telepon
  • User dapat mencari kontak berdasarkan nama dan memfilter berdasarkan relasi
  • User dapat berpindah tab ke Supplier, Jenis Customer, Customer, dan Karyawan sesuai hak akses
  • User dapat menambah kontak perorangan (nama depan, nama belakang, NPWP, nomor identitas) atau badan hukum (jenis badan hukum, nama perusahaan, NPWP, nomor identitas)
  • User dapat mengisi informasi kontak: email, beberapa nomor telepon, provinsi, kota, dan beberapa alamat
  • User dapat melihat detail kontak dan mengubahnya, termasuk pengaturan relasi supplier, customer, dan karyawan yang melekat pada kontak
  • User dapat menonaktifkan kontak dan memulihkannya dari arsip

b. Catatan​

c. Kesimpulan​

  • [FE] -
  • [BE] -

2. Functional Requirement​

KodeDeskripsi
FR-01Sistem menampilkan daftar kontak aktif (bukan kontak gudang) dengan kolom nama, relasi, email, dan nomor telepon
FR-02User dapat mencari berdasarkan nama dan memfilter berdasarkan relasi dengan perusahaan
FR-03Sistem menampilkan tab Buku Kontak, Supplier, Jenis Customer, Customer, Karyawan sesuai hak akses masing-masing
FR-04User dapat menambah kontak perorangan atau badan hukum
FR-05Sistem memvalidasi nama wajib, jenis badan hukum wajib untuk badan hukum, format email, dan nomor telepon minimal 6 digit
FR-06User dapat menyimpan lebih dari satu nomor telepon dan alamat (provinsi, kota, alamat)
FR-07User dapat melihat detail kontak
FR-08User dapat mengubah kontak beserta data relasi customer (tempo, maksimal piutang, maksimal nota, jenis customer, sales, PIC, konsinyasi), supplier (tempo, PIC), dan karyawan (akun)
FR-09User dapat menonaktifkan kontak dan memulihkannya dari arsip secara massal

3. Use Case List​

KodeDeskripsi
UC-01Melihat dan mencari daftar kontak
UC-02Menambah kontak perorangan atau badan hukum
UC-03Melihat detail kontak
UC-04Mengubah kontak beserta data relasinya
UC-05Menonaktifkan kontak
UC-06Memulihkan kontak dari arsip

4. Use Case Scenario​

UC-01 : Melihat dan mencari daftar kontak​

AktorUser brand
DeskripsiUser melihat buku kontak dan menyaringnya
PrekondisiUser sudah login
User memiliki hak #person
Alur utama1. User membuka menu Master, Kontak, Buku Kontak.
2. Sistem menampilkan daftar kontak.
3. User mengetik nama atau memilih relasi pada pencarian.
4. Sistem memuat ulang daftar dan menyimpan filter di query halaman.
Alur negatif- Jika gagal memuat atau tidak ada hasil, daftar kosong.
- Tab yang tidak diizinkan tidak ditampilkan.
Bisnis rule- Tanpa filter relasi, kontak gudang tidak ikut ditampilkan.
- Relasi ditampilkan sebagai gabungan (mis. "Supplier, Customer").
PostkondisiDaftar kontak tampil
TriggerUser membuka menu Buku Kontak
Kode FRFR-01
FR-02
FR-03

UC-02 : Menambah kontak perorangan atau badan hukum​

AktorUser brand dengan hak basic
DeskripsiUser membuat kontak baru
PrekondisiUser sudah login
Alur utama1. User klik Tambah.
2. User memilih apakah kontak atas nama badan hukum.
3. Perorangan: user mengisi nama depan, nama belakang, NPWP, nomor kartu identitas.
4. Badan hukum: user memilih jenis badan hukum, mengisi nama perusahaan, NPWP, nomor kartu identitas.
5. User mengisi email, nomor telepon, provinsi, kota, alamat, dan dapat menambah telepon / alamat lain.
6. User klik Simpan.
7. Sistem menampilkan "Berhasil buat Person".
Alur negatif- Jika field wajib kosong atau tidak valid, muncul "Form Ada yang belum diisi!".
- Jika simpan gagal, muncul pesan error dari server.
Bisnis rule- Pilihan jenis badan hukum: PT, Fa, UD, CV, Perjan, Perum, Lainnya.
- Untuk badan hukum, nama perusahaan disimpan sebagai nama depan dan jenis badan hukum sebagai nama belakang.
- Alamat pertama ditandai sebagai alamat utama.
- Nomor telepon minimal 6 digit.
PostkondisiKontak baru tersimpan tanpa relasi
TriggerUser klik Simpan
Kode FRFR-04
FR-05
FR-06

UC-03 : Melihat detail kontak​

AktorUser brand dengan hak view
DeskripsiUser melihat informasi lengkap kontak
PrekondisiKontak sudah ada
Alur utama1. User klik sekali baris kontak.
2. Sistem membuka halaman lihat berisi data kontak dan informasi relasinya.
Alur negatif- Jika user tidak punya hak view, klik baris tidak membuka halaman.
Bisnis rule- Bagian supplier / customer / karyawan hanya tampil bila user memiliki hak #kontak-supplier / #kontak-customer / #kontak-karyawan.
PostkondisiDetail kontak tampil
TriggerUser klik baris
Kode FRFR-07

UC-04 : Mengubah kontak beserta data relasinya​

AktorUser brand dengan hak basic
DeskripsiUser mengubah data kontak serta pengaturan supplier, customer, atau karyawan yang melekat
PrekondisiKontak sudah ada
Alur utama1. User klik dua kali baris kontak atau tombol ubah.
2. Sistem memuat data kontak, provinsi, dan data customer / supplier / karyawan bila ada.
3. User mengubah data kontak, telepon, alamat, dan bagian relasi.
4. User klik Simpan.
5. Sistem memperbarui kontak dan relasi secara paralel, lalu menampilkan "Berhasil diupdate".
Alur negatif- Jika salah satu penyimpanan gagal, muncul pesan error dari server.
Bisnis rule- Bagian customer hanya dikirim bila relasi mengandung customer dan user punya hak #kontak-customer (sama untuk supplier dan karyawan).
- PIC lama yang dihapus dikirim dengan tanda deleted: true.
PostkondisiKontak dan relasinya terbarui
TriggerUser klik Simpan
Kode FRFR-06
FR-08

UC-05 : Menonaktifkan kontak​

AktorUser brand dengan hak basic
DeskripsiUser menonaktifkan kontak yang tidak dipakai
PrekondisiKontak ada di daftar
Alur utama1. User klik hapus pada baris.
2. Sistem meminta konfirmasi "Anda yakin ingin menonaktifkan (nama)?".
3. User konfirmasi.
4. Sistem menonaktifkan kontak dan menampilkan "Berhasil menonaktifkan person".
Alur negatif- Jika batal, tidak ada perubahan.
- Jika gagal, muncul pesan error dari server.
Bisnis rule- Kontak tidak dihapus permanen, hanya status aktif diubah menjadi tidak aktif.
PostkondisiKontak pindah ke arsip
TriggerUser klik hapus
Kode FRFR-09

UC-06 : Memulihkan kontak dari arsip​

AktorUser brand dengan hak archive
DeskripsiUser mengaktifkan kembali kontak
PrekondisiAda kontak tidak aktif
Alur utama1. User membuka Arsip.
2. User mencentang kontak dan klik pulihkan, lalu konfirmasi.
3. Sistem menampilkan "Berhasil memulihkan Person terpilih".
Alur negatif- Jika gagal, muncul pesan error dari server.
Bisnis rule- Pemulihan dilakukan massal.
PostkondisiKontak kembali aktif
TriggerUser klik pulihkan
Kode FRFR-09

5. Data Flow Diagram​

DFD-01​

6. Sequence Diagram​

SD-01 — UC-01 : Melihat dan mencari daftar kontak​

SD-02 — UC-02 : Menambah kontak perorangan atau badan hukum​

SD-03 — UC-03 : Melihat detail kontak​

SD-04 — UC-04 : Mengubah kontak beserta data relasinya​

SD-05 — UC-05 : Menonaktifkan kontak​

SD-06 — UC-06 : Memulihkan kontak dari arsip​

7. Table Schema​

8. API Schema​

EndpointStatusPerubahan
GET /personexisting-
GET /person/:idexisting-
POST /personexisting-
PATCH /person/:idexisting-
POST /person/bulkexisting-
GET /provinceexisting-
GET /cityexisting-
GET /customer/:idexisting-
GET /supplier/:idexisting-
GET /karyawan/:idexisting-
POST /customer/update-enchanced/existing-
POST /supplier/update-enchanced/existing-
POST /karyawan/update-enchanced/existing-