Skip to main content

Versi 1

FieldIsi
Dokumen IDVBS-STK-006
DeskripsiPenyesuaian stok: mengoreksi stok barang di cabang dengan menambah (qty lebih) atau mengurangi (qty kurang) kuantitas, dibebankan ke akun beban, dengan cetak invoice dan buka kembali ke draft untuk koreksi
Nomor Revisi1
Tanggal2026-10-04
KeteranganDokumentasi baseline dari dokumentasi fitur demo dan kode FE

1. Ringkasan​

a. In scope​

  • User melihat daftar invoice penyesuaian stok (nomor invoice, tanggal, cabang, status)
  • User mencari nomor invoice serta memfilter periode tanggal invoice dan barang
  • User membuat invoice penyesuaian stok: nomor invoice otomatis atau manual, tanggal, lokasi (opsional), cabang, keterangan, cluster, akun beban, serta baris barang dengan qty kurang atau qty lebih, satuan, dan keterangan baris
  • Penyesuaian langsung tersimpan final dan mengubah stok cabang
  • User berwenang membuka kembali invoice ke draft, lalu mengubah atau menghapusnya
  • User melihat detail penyesuaian dan mencetak invoice

b. Catatan​

c. Kesimpulan​

  • [FE] -
  • [BE] -

2. Functional Requirement​

KodeDeskripsi
FR-01Sistem menampilkan daftar invoice penyesuaian stok dengan pagination, pencarian nomor invoice, dan filter periode serta barang
FR-02Sistem membatasi daftar ke invoice milik user sendiri jika user tidak punya hak akses lihat semua user
FR-03User dapat membuat invoice penyesuaian stok dengan cabang, akun beban, dan minimal satu baris barang
FR-04Setiap baris wajib memiliki salah satu dari qty kurang atau qty lebih minimal 0,1
FR-05Sistem memvalidasi tanggal, cabang, akun beban wajib, barang tidak duplikat, dan satuan wajib
FR-06Penyesuaian disimpan sebagai transaksi final yang menambah atau mengurangi stok
FR-07User berwenang dapat mengubah invoice final kembali ke draft
FR-08User dapat mengubah dan menghapus invoice draft
FR-09User dapat melihat detail dan mencetak invoice penyesuaian stok

3. Use Case List​

KodeDeskripsi
UC-01Melihat dan memfilter daftar penyesuaian stok
UC-02Membuat invoice penyesuaian stok (tambah / kurang stok)
UC-03Membuka kembali (unlock) invoice penyesuaian ke draft
UC-04Mengubah invoice penyesuaian stok draft
UC-05Menghapus invoice penyesuaian stok draft
UC-06Melihat detail dan mencetak invoice penyesuaian stok

4. Use Case Scenario​

UC-01 : Melihat dan memfilter daftar penyesuaian stok​

AktorUser brand dengan hak akses penyesuaian stok
DeskripsiUser melihat daftar penyesuaian stok dan menyaringnya
PrekondisiUser sudah login di brand aktif
Alur utama1. User membuka halaman Penyesuaian Stok.
2. Sistem menampilkan daftar (nomor invoice, tanggal, cabang, status).
3. User mengetik nomor invoice, atau memilih periode tanggal invoice dan barang di Filter.
4. Sistem memuat ulang daftar.
Alur negatif- Jika gagal memuat, daftar dikosongkan.
Bisnis rule- Daftar hanya memuat transaksi bermodul Penyesuaian Stok (transaksi Pemakaian memakai data yang sama tapi dipisah per modul).
- User tanpa hak akses lihat semua user hanya melihat invoice miliknya.
PostkondisiDaftar penyesuaian sesuai filter tampil
TriggerUser membuka halaman Penyesuaian Stok
Kode FRFR-01
FR-02

UC-02 : Membuat invoice penyesuaian stok (tambah / kurang stok)​

AktorUser brand dengan hak akses basic penyesuaian stok
DeskripsiUser mengoreksi saldo stok barang di cabang
PrekondisiMaster cabang, barang, dan akun perkiraan tersedia
Alur utama1. User klik Buat Invoice.
2. User mengisi nomor invoice (otomatis / manual), tanggal, lokasi, cabang, keterangan, cluster, dan akun beban.
3. User menambah baris barang lalu mengisi qty kurang (mengurangi stok) atau qty lebih (menambah stok), satuan, dan keterangan.
4. User klik Simpan.
5. Sistem menyimpan invoice dan kembali ke daftar.
Alur negatif- Jika ada field wajib kosong, muncul notifikasi "Oops ada data yang kosong!".
- Jika menambah baris saat baris sebelumnya belum lengkap, muncul peringatan "Nama Barang, Qty dan Satuan Tidak Boleh Kosong!".
- Jika cabang kosong, muncul pesan "Cabang tidak boleh kosong".
- Jika server gagal, muncul notifikasi error.
Bisnis rule- Satu baris hanya mengirim salah satu: qty kurang jika diisi, selain itu qty lebih.
- Qty minimal 0,1 pada kolom yang diisi, disimpan dalam satuan terkecil.
- Akun beban wajib, dipilih dari akun dengan awalan nomor 13, 4, 5, 6, 7, 8, 9.
- Barang yang sama tidak boleh dipilih dua kali.
- Invoice langsung final.
PostkondisiNotifikasi "Berhasil buat Penyesuaian Stok Barang", stok cabang terkoreksi
TriggerUser klik Simpan
Kode FRFR-03
FR-04
FR-05
FR-06

UC-03 : Membuka kembali (unlock) invoice penyesuaian ke draft​

AktorUser brand dengan hak akses draft penyesuaian stok
DeskripsiUser mengembalikan invoice final ke draft agar dapat dikoreksi
PrekondisiInvoice final
Alur utama1. User klik "Ubah ke Simpan Draft" dari daftar atau halaman lihat.
2. Sistem membuka kunci invoice.
3. Status berubah menjadi Draft.
Alur negatif- Jika server menolak, muncul notifikasi error.
Bisnis rule- Butuh hak akses #can-draft dan hak draft pada #penyesuaian-stok.
PostkondisiNotifikasi "Berhasil Ubah ke Simpan Draft Invoice (nomor)"
TriggerUser klik Ubah ke Simpan Draft
Kode FRFR-07

UC-04 : Mengubah invoice penyesuaian stok draft​

AktorUser brand dengan hak akses basic penyesuaian stok
DeskripsiUser memperbaiki invoice penyesuaian yang sudah dibuka ke draft
PrekondisiInvoice draft
Alur utama1. User klik Edit.
2. Sistem memuat detail invoice dan baris.
3. User mengubah informasi atau baris.
4. User klik Simpan.
5. Sistem memperbarui invoice dan menyimpannya final kembali.
Alur negatif- Jika invoice tidak ditemukan, user dikembalikan ke daftar.
- Validasi baris sama dengan UC-02.
Bisnis rule- Baris yang dihapus dikirim dengan penanda deleted.
PostkondisiInvoice terupdate dan final kembali
TriggerUser klik Edit
Kode FRFR-04
FR-08

UC-05 : Menghapus invoice penyesuaian stok draft​

AktorUser brand dengan hak akses basic penyesuaian stok
DeskripsiUser menghapus invoice penyesuaian yang masih draft
PrekondisiInvoice draft
Alur utama1. User klik Hapus.
2. Sistem menghapus invoice.
3. Daftar dimuat ulang.
Alur negatif- Jika server gagal, muncul notifikasi error.
Bisnis rule- Hapus hanya untuk invoice draft.
PostkondisiNotifikasi "Berhasil Hapus Invoice (nomor)"
TriggerUser klik Hapus
Kode FRFR-08

UC-06 : Melihat detail dan mencetak invoice penyesuaian stok​

AktorUser brand dengan hak akses view / reprint penyesuaian stok
DeskripsiUser melihat isi penyesuaian dan mencetak invoicenya
PrekondisiInvoice ada
Alur utama1. User klik Lihat.
2. Sistem menampilkan informasi invoice dan baris barang (qty kurang / qty lebih).
3. User klik Cetak Invoice.
4. Sistem menandai invoice sudah dicetak lalu mencetak dengan kop surat.
Alur negatif- Jika gagal memuat atau menyiapkan cetak, muncul notifikasi error.
Bisnis rule- Cetak mengikuti hak akses reprint.
PostkondisiDetail tampil atau invoice tercetak
TriggerUser klik Lihat / Cetak Invoice
Kode FRFR-09

5. Data Flow Diagram​

DFD-01 — Alur data penyesuaian stok​

6. Sequence Diagram​

SD-01 — UC-01 : Melihat dan memfilter daftar penyesuaian stok​

SD-02 — UC-02 : Membuat invoice penyesuaian stok (tambah / kurang stok)​

SD-03 — UC-03 : Membuka kembali (unlock) invoice penyesuaian ke draft​

SD-04 — UC-04 : Mengubah invoice penyesuaian stok draft​

SD-05 — UC-05 : Menghapus invoice penyesuaian stok draft​

SD-06 — UC-06 : Melihat detail dan mencetak invoice penyesuaian stok​

7. Table Schema​

8. API Schema​

EndpointStatusPerubahan
GET /invoice-penyesuaian-stokexisting-
GET /invoice-penyesuaian-stok/:idexisting-
POST /invoice-penyesuaian-stokexisting-
PUT /invoice-penyesuaian-stok/:idexisting-
PUT /invoice-penyesuaian-stok/invoice-only/:idexisting-
PUT /invoice-penyesuaian-stok/unlock/:idexisting-
DELETE /invoice-penyesuaian-stok/:idexisting-
GET /rekeningexisting-