Versi 1
| Field | Isi |
|---|---|
| Dokumen ID | VBS-MST-012 |
| Deskripsi | Master biaya dan pemasukan: daftar biaya dengan filter jenis pengeluaran, cabang, klaster, dan akun; menambah biaya atau pemasukan secara massal; mengubah dan mengarsipkan |
| 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 biaya / pemasukan (nama, akun, akun dibayar di muka, akun hutang biaya, kategori, cabang, klaster)
- User dapat mencari nama biaya dan memfilter jenis pengeluaran, cabang, klaster, serta akun
- User dapat menambah biaya atau pemasukan (bulk baris): akun perkiraan, nama, akun hutang biaya (biaya), akun dibayar di muka, klaster, cabang penggunaan
- User dapat mengubah data biaya secara inline di daftar
- User dapat menghapus biaya dan membuka arsip
b. Catatan
c. Kesimpulan
- [FE] -
- [BE] -
2. Functional Requirement
| Kode | Deskripsi |
|---|---|
| FR-01 | Sistem menampilkan daftar biaya dengan kolom nama, akun, akun dibayar di muka, akun hutang biaya, kategori, cabang, dan klaster |
| FR-02 | User dapat mencari nama biaya dan memfilter jenis pengeluaran, cabang, klaster, serta akun |
| FR-03 | User dapat menambah satu atau banyak biaya sekaligus |
| FR-04 | User dapat menambah satu atau banyak pemasukan sekaligus |
| FR-05 | Sistem menentukan kategori pengeluaran otomatis dari prefix nomor rekening akun yang dipilih |
| FR-06 | User dapat mengubah biaya di daftar dan menghapus / mengarsipkan biaya |
3. Use Case List
| Kode | Deskripsi |
|---|---|
| UC-01 | Melihat dan memfilter daftar biaya |
| UC-02 | Menambah biaya |
| UC-03 | Menambah pemasukan |
| UC-04 | Mengubah biaya di daftar |
| UC-05 | Menghapus biaya |
| UC-06 | Membuka arsip biaya |
4. Use Case Scenario
UC-01 : Melihat dan memfilter daftar biaya
| Aktor | User brand dengan hak #biaya |
| Deskripsi | User melihat daftar master biaya / pemasukan |
| Prekondisi | User sudah login dan membuka brand |
| Alur utama | 1. User membuka menu Master, Akuntansi, Biaya. 2. Sistem menampilkan daftar biaya. 3. User mencari nama atau membuka filter jenis pengeluaran / cabang / klaster / akun. 4. Sistem memuat ulang daftar. |
| Alur negatif | - Jika kosong, tampil "Data Biaya Masih Kosong". |
| Bisnis rule | - Filter jenis: penjualan, promosi, produksi, adm & umum, diluar usaha. - Klaster hanya jika permission #cluster. |
| Postkondisi | Daftar biaya tampil |
| Trigger | User membuka menu Biaya |
| Kode FR | FR-01 FR-02 |
UC-02 : Menambah biaya
| Aktor | User brand dengan hak basic #biaya |
| Deskripsi | User menambah master biaya |
| Prekondisi | Akun perkiraan tersedia |
| Alur utama | 1. User pilih Buat Tindakan, Biaya. 2. User mengisi akun perkiraan, nama biaya, akun hutang biaya, akun dibayar di muka, klaster, cabang penggunaan. 3. User dapat menambah baris biaya lain. 4. User klik Simpan. 5. Sistem menampilkan "Berhasil buat Biaya". |
| Alur negatif | - Jika form tidak valid, muncul "Silahkan cek kembali form". - Jika gagal, muncul pesan error dari server. |
| Bisnis rule | - Akun dan nama biaya wajib. - Kategori pengeluaran otomatis dari prefix nomor rekening: 51 produksi, 61 adm & umum, 62 penjualan, 63 promosi, 80 diluar usaha, 91 pajak final, 70 pemasukan. - Default jenis_biaya: "overhead tidak langsung"; untuk 61/62/63 jadi "biaya lain"; 91 jadi "biaya pajak".- Simpan lewat bulk POST /biaya/bulk. |
| Postkondisi | Biaya baru tersimpan |
| Trigger | User klik Simpan |
| Kode FR | FR-03 FR-05 |
UC-03 : Menambah pemasukan
| Aktor | User brand dengan hak basic #biaya |
| Deskripsi | User menambah master pemasukan |
| Prekondisi | Akun perkiraan tersedia |
| Alur utama | 1. User pilih Buat Tindakan, Pemasukan. 2. User mengisi akun perkiraan, nama pemasukan, akun dibayar di muka, klaster, cabang. 3. User klik Simpan. |
| Alur negatif | - Sama seperti UC-02. |
| Bisnis rule | - Kolom akun hutang biaya tidak ditampilkan untuk tipe pemasukan. - Field "akun dibayar di muka" tetap ada di form (label UI sama untuk biaya dan pemasukan). - Query type=pemasukan. |
| Postkondisi | Pemasukan baru tersimpan |
| Trigger | User klik Simpan |
| Kode FR | FR-04 FR-05 |
UC-04 : Mengubah biaya di daftar
| Aktor | User brand dengan hak basic #biaya |
| Deskripsi | User mengubah data biaya secara inline |
| Prekondisi | Biaya ada di daftar |
| Alur utama | 1. User klik baris untuk mode edit. 2. User mengubah nama, akun, akun dibayar di muka, hutang biaya, cabang, klaster. 3. User konfirmasi simpan baris. |
| Alur negatif | - Jika gagal, muncul pesan error dari server. - Ubah akun tertentu bisa dibatasi untuk non-admin. |
| Bisnis rule | - Update inline mengirim nama_biaya, gudang_id, rekening_id, cluster_id, is_active.- Field hutang / dibayar di muka bisa diedit di UI tetapi tidak ikut dikirim pada update inline. - Non-admin / non–brand-admin tidak dapat mengubah akun saat edit. |
| Postkondisi | Biaya terbarui |
| Trigger | User simpan baris |
| Kode FR | FR-06 |
UC-05 : Menghapus biaya
| Aktor | User brand dengan hak basic #biaya |
| Deskripsi | User menghapus biaya |
| Prekondisi | Biaya ada di daftar |
| Alur utama | 1. User klik ikon hapus. 2. Sistem menghapus / menonaktifkan biaya. |
| Alur negatif | - Jika gagal, muncul pesan error dari server. |
| Bisnis rule | - Biaya terhapus dapat dilihat di arsip. |
| Postkondisi | Biaya tidak tampil di daftar aktif |
| Trigger | User klik hapus |
| Kode FR | FR-06 |
UC-06 : Membuka arsip biaya
| Aktor | User brand dengan hak archive #biaya |
| Deskripsi | User membuka arsip biaya |
| Prekondisi | Ada biaya tidak aktif |
| Alur utama | 1. User klik Arsip. 2. Sistem menampilkan biaya tidak aktif. |
| Alur negatif | - Jika kosong, daftar arsip kosong. |
| Bisnis rule | - |
| Postkondisi | Arsip biaya tampil |
| Trigger | User membuka arsip |
| Kode FR | FR-06 |
5. Data Flow Diagram
DFD-01
6. Sequence Diagram
SD-01 — UC-01 : Melihat dan memfilter daftar biaya
SD-02 — UC-02 : Menambah biaya
SD-03 — UC-03 : Menambah pemasukan
SD-04 — UC-04 : Mengubah biaya di daftar
SD-05 — UC-05 : Menghapus biaya
SD-06 — UC-06 : Membuka arsip biaya
7. Table Schema
8. API Schema
| Endpoint | Status | Perubahan |
|---|---|---|
GET /biaya | existing | - |
GET /biaya/:id | existing | - |
POST /biaya/bulk | existing | - |
PUT /biaya/:id | existing | - |
POST /biaya/bulk-update | existing | - |
DELETE /biaya/:id | existing | - |
GET /jenis-biaya | existing | - (API/store ada; tidak dipakai di menu master biaya) |
GET /rekening | existing | - |
GET /gudang | existing | - |
GET /cluster | existing | - |