Skip to main content

KTN-01

FieldIsi
Dokumen IDKTN-01
DeskripsiPenjualan multi sales
Nomor Revisi2
Tanggal2026-10-03
KeteranganScope diperluas: penjualan atas SO ikut memakai sales kirim dan checker

1. Ringkasan​

a. In scope​

  • Penjualan dengan multi sales
  • Dapat memilih checker
  • Penjualan langsung (tanpa SO)
  • Penjualan atas SO

b. Catatan​

  • Yang dimaksud multi sales itu bukan banyak sales secara bebas
  • Jadi masing-masing invoice penjualan itu tetap hanya butuh satu sales yang tercatat. Namun ada field baru lagi, yaitu sales kirim dan checker
  • Sales kirim dan checker adalah karyawan, namun saat ini hanya sebatas informasi pada surat jalan saja
  • Field sales kirim dan checker berlaku sama pada penjualan langsung maupun penjualan yang dibuat dari SO

c. Kesimpulan​

  • [FE] Tambahkan field sales kirim dan checker pada informasi invoice penjualan langsung (penjualan/tambah)
  • [FE] Tambahkan field sales kirim dan checker pada informasi invoice penjualan atas SO (penjualan/tambah-so)
  • [BE] Update endpoint invoice penjualan agar menerima sales kirim dan checker pada create maupun update

2. Functional Requirement​

KodeDeskripsi
FR-01Invoice penjualan harus memiliki sales kirim
FR-02Invoice penjualan harus memiliki checker
FR-03Perubahan harus diterapkan pada API create maupun update
FR-04Field sales kirim dan checker tersedia pada penjualan langsung maupun penjualan atas SO

3. Use Case List​

KodeDeskripsi
UC-01Memilih sales kirim dan checker pada penjualan langsung
UC-02Memilih sales kirim dan checker pada penjualan atas SO

4. Use Case Scenario​

UC-01 : Memilih sales kirim dan checker pada penjualan langsung​

AktorOfficer
DeskripsiDapat memilih sales kirim dan checker pada saat membuat invoice penjualan langsung
Prekondisi- Pengguna terautentikasi
- Memiliki hak akses
- Dapat membuka halaman create invoice penjualan langsung
Alur utama1. Membuka halaman create invoice penjualan langsung.
2. Mengisi informasi yang perlu diisi.
3. Memilih sales kirim dan checker dari daftar karyawan.
4. Membuat invoice penjualan.
Alur negatif- Jika sales kirim atau checker kosong, simpan ditolak dan muncul validasi wajib isi.
- Jika gagal menyimpan invoice, muncul pesan error dan data belum tersimpan.
Bisnis rule- Sales kirim dan checker wajib diisi.
- Yang masuk ke invoice dan laporan, tetap hanya karyawan_id_sales saja.
- Sales kirim dan checker saat ini hanya sebatas informasi pada surat jalan.
PostkondisiInvoice penjualan langsung dibuat dengan sales kirim dan checker
TriggerMenekan buat invoice dari halaman penjualan
Kode FRFR-01
FR-02
FR-03
FR-04

UC-02 : Memilih sales kirim dan checker pada penjualan atas SO​

AktorOfficer
DeskripsiDapat memilih sales kirim dan checker pada saat membuat invoice penjualan dari SO
Prekondisi- Pengguna terautentikasi
- Memiliki hak akses
- SO yang akan ditagihkan sudah ada
- Dapat membuka halaman create invoice penjualan atas SO
Alur utama1. Membuka halaman create invoice penjualan atas SO.
2. Memilih / memuat data SO terkait.
3. Mengisi informasi yang perlu diisi.
4. Memilih sales kirim dan checker dari daftar karyawan.
5. Membuat invoice penjualan dari SO.
Alur negatif- Jika SO tidak ditemukan, proses buat invoice atas SO tidak dilanjutkan.
- Jika sales kirim atau checker kosong, simpan ditolak dan muncul validasi wajib isi.
- Jika gagal menyimpan invoice, muncul pesan error dan data belum tersimpan.
Bisnis rule- Sales kirim dan checker wajib diisi, sama seperti penjualan langsung.
- Yang masuk ke invoice dan laporan, tetap hanya karyawan_id_sales saja.
- Sales kirim dan checker saat ini hanya sebatas informasi pada surat jalan.
- Field tidak diganti oleh data sales dari SO secara otomatis tanpa pilihan user.
PostkondisiInvoice penjualan atas SO dibuat dengan sales kirim dan checker
TriggerMenekan buat invoice atas SO dari halaman penjualan
Kode FRFR-01
FR-02
FR-03
FR-04

5. Data Flow Diagram​

Tidak ada data flow diagram.

6. Sequence Diagram​

SD-01 — UC-01 : Memilih sales kirim dan checker pada penjualan langsung​

SD-02 — UC-02 : Memilih sales kirim dan checker pada penjualan atas SO​

7. Table Schema​

TableFieldStatusDeskripsi
Invoice_Penjualankaryawan_id_sales_kirimnewUntuk menyimpan id sales kirim
Invoice_Penjualankaryawan_id_checkernewUntuk menyimpan id checker

8. API Schema​

EndpointStatusPerubahan
POST /[url_penjualan]/penjualanchangedReq menambah karyawan_id_sales_kirim, karyawan_id_checker untuk penjualan langsung maupun atas SO
PUT /[url_penjualan]/penjualan/:idchangedReq menambah karyawan_id_sales_kirim, karyawan_id_checker
GET /[url_penjualan]/invoice-penjualanchangedRes menambah karyawan_id_sales_kirim, karyawan_id_checker
GET /[url_penjualan]/invoice-penjualan/:idchangedRes menambah karyawan_id_sales_kirim, karyawan_id_checker
PUT /[url_penjualan]/invoice-penjualan/invoice-only/:idchangedReq menambah karyawan_id_sales_kirim, karyawan_id_checker
GET /[url_penjualan]/invoice-so/:idexistingDipakai memuat SO sebelum create penjualan atas SO. Perubahan field sales kirim/checker -
GET /[url_gudang]/invoice-pengiriman-barangchangedRes menambah karyawan_id_sales_kirim, karyawan_id_checker
GET /[url_gudang]/invoice-pengiriman-barang/:idchangedRes menambah karyawan_id_sales_kirim, karyawan_id_checker
POST /[url_gudang]/invoice-pengiriman-barangchangedReq menambah karyawan_id_sales_kirim, karyawan_id_checker