Versi 1
| Field | Isi |
|---|---|
| Dokumen ID | VBS-FIN-001 |
| Deskripsi | Pencatatan titipan / uang muka (DP) dari customer maupun ke supplier, lengkap dengan status sisa titipan, draft / final, dan cetak invoice |
| Nomor Revisi | 1 |
| Tanggal | 2026-10-04 |
| Keterangan | Dokumentasi baseline dari dokumentasi fitur demo dan kode FE |
1. Ringkasan
a. In scope
- User melihat daftar invoice titipan DP beserta ringkasan total titipan dan sisa titipan yang sudah final.
- User memfilter daftar berdasarkan periode, tipe lawan transaksi (customer / supplier), nama lawan transaksi, status invoice (selesai / draft), dan status DP (belum terpakai / sisa / habis terpakai), lalu mengekspornya ke Excel.
- User membuat invoice titipan DP: tanggal, klaster, tipe dan nama lawan transaksi, mata uang asing (opsional), serta satu atau lebih baris metode pembayaran dan nominal.
- User menyimpan invoice sebagai draft atau final; invoice final tidak dapat diubah.
- User mengubah dan menghapus invoice yang masih draft, atau memfinalisasi draft langsung dari daftar.
- User yang berwenang mengubah invoice final kembali menjadi draft (unlock).
- User mencetak invoice sementara (draft) atau invoice final, dan memposting ulang jurnal invoice final.
- User melihat detail invoice beserta riwayat pemakaian DP pada pembayaran hutang / piutang.
b. Catatan
c. Kesimpulan
- [FE] -
- [BE] -
2. Functional Requirement
| Kode | Deskripsi |
|---|---|
| FR-01 | Sistem menampilkan daftar invoice titipan DP dengan kolom tanggal, nomor invoice, klaster, tipe lawan transaksi, nama lawan transaksi, total titipan, sisa titipan, dan status invoice |
| FR-02 | Sistem menampilkan ringkasan sisa titipan dan total titipan dari invoice yang sudah final |
| FR-03 | User dapat memfilter daftar berdasarkan periode, tipe lawan transaksi, nama lawan transaksi, status invoice, dan status DP |
| FR-04 | User dapat mengekspor daftar sesuai filter ke file Excel |
| FR-05 | User dapat membuat invoice titipan DP untuk customer atau supplier dengan satu atau lebih metode pembayaran |
| FR-06 | User dapat menyimpan invoice sebagai draft atau final, dengan konfirmasi sebelum simpan final |
| FR-07 | User dapat mengubah dan menghapus invoice berstatus draft |
| FR-08 | User dapat memfinalisasi invoice draft dari daftar |
| FR-09 | User dengan hak draft dapat mengubah invoice final kembali menjadi draft |
| FR-10 | User dapat mencetak invoice sementara (draft) dan invoice final |
| FR-11 | User dapat memposting ulang jurnal invoice final |
| FR-12 | User dapat melihat detail invoice dan riwayat pemakaian DP |
3. Use Case List
| Kode | Deskripsi |
|---|---|
| UC-01 | Melihat daftar dan ringkasan titipan DP |
| UC-02 | Memfilter dan mengekspor daftar titipan DP |
| UC-03 | Membuat invoice titipan DP |
| UC-04 | Mengubah invoice titipan DP draft |
| UC-05 | Memfinalisasi invoice titipan DP draft |
| UC-06 | Membuka kembali (unlock) invoice titipan DP final ke draft |
| UC-07 | Menghapus invoice titipan DP draft |
| UC-08 | Mencetak invoice titipan DP |
| UC-09 | Memposting ulang jurnal titipan DP |
4. Use Case Scenario
UC-01 : Melihat daftar dan ringkasan titipan DP
| Aktor | User keuangan |
| Deskripsi | User melihat daftar invoice titipan DP dan ringkasan titipan |
| Prekondisi | User sudah login dan memiliki akses menu Titipan / Down Payment |
| Alur utama | 1. User membuka menu Keuangan, Titipan / Down Payment. 2. Sistem menyinkronkan data DP di latar belakang. 3. Sistem menampilkan ringkasan sisa titipan dan total titipan. 4. Sistem menampilkan daftar invoice dengan infinite scroll. 5. User membuka detail invoice untuk melihat metode pembayaran dan riwayat pemakaian DP. |
| Alur negatif | - Jika daftar kosong tanpa filter, muncul "Daftar Invoice masih kosong". - Jika filter tidak menemukan data, muncul "Invoice Tidak Ditemukan". - Jika gagal memuat, muncul alert error dari server. - Jika riwayat pemakaian tidak punya model asal, muncul "Model NOMOR tidak ditemukan". |
| Bisnis rule | - Ringkasan hanya menghitung invoice final; sisa titipan hanya invoice dengan sisa DP minimal 0,01. - Ringkasan hanya tampil untuk user dengan hak summary keuangan. - Tanpa hak lihat semua user, daftar hanya memuat invoice buatan user sendiri. |
| Postkondisi | Daftar dan ringkasan titipan DP tampil |
| Trigger | User membuka halaman Titipan / Down Payment |
| Kode FR | FR-01 FR-02 FR-12 |
UC-02 : Memfilter dan mengekspor daftar titipan DP
| Aktor | User keuangan |
| Deskripsi | User mempersempit daftar titipan DP dan mengunduhnya ke Excel |
| Prekondisi | User berada di halaman daftar titipan DP |
| Alur utama | 1. User membuka filter. 2. User memilih periode, tipe lawan transaksi, nama lawan transaksi, status invoice, dan status DP, atau mencari nomor invoice. 3. Sistem memuat ulang daftar sesuai filter. 4. User menekan export. 5. Sistem mengambil seluruh data sesuai filter tanpa paginasi dan mengunduh file Excel "Titipan DP". |
| Alur negatif | - Jika hasil export kosong, file tidak dibuat. - Jika filter tidak menemukan data, muncul "Invoice Tidak Ditemukan". |
| Bisnis rule | - Status DP: belum terpakai, sisa, habis terpakai. - Status invoice: selesai = final, draft = belum final. - Tipe lawan "semua" berarti customer dan supplier. |
| Postkondisi | Daftar terfilter tampil atau file Excel terunduh |
| Trigger | User mengubah filter atau menekan export |
| Kode FR | FR-03 FR-04 |
UC-03 : Membuat invoice titipan DP
| Aktor | User keuangan |
| Deskripsi | User mencatat titipan DP baru dari customer atau ke supplier |
| Prekondisi | User memiliki hak dasar Titipan DP, master metode pembayaran sudah tersedia |
| Alur utama | 1. User menekan tambah. 2. User mengisi tanggal invoice, klaster, keterangan, dan nomor invoice (opsional). 3. User memilih tipe lawan transaksi lalu memilih customer atau supplier. 4. User memilih mata uang asing dan kurs jika diperlukan. 5. User menambahkan baris metode pembayaran dan nominal. 6. User memilih simpan draft, simpan final, simpan dan buat baru, atau simpan dan cetak. 7. Untuk final, sistem menampilkan konfirmasi "Simpan Transaksi". 8. Sistem menyimpan invoice dan menampilkan notifikasi berhasil. |
| Alur negatif | - Jika field wajib di form informasi belum valid atau tidak ada baris pembayaran, simpan dibatalkan. - Jika baris metode pembayaran atau nominal kosong, muncul "Metode Pembayaran dan Nominal Tidak Boleh Kosong!". - Jika user membatalkan konfirmasi final, data tidak disimpan. - Jika server menolak, muncul notifikasi error. |
| Bisnis rule | - Lawan transaksi hanya customer atau supplier. - Setiap baris pembayaran membawa metode pembayaran dan akun pembayarannya. - Invoice final tidak dapat diubah kecuali di-unlock. - Mata uang default IDR. |
| Postkondisi | Invoice titipan DP tersimpan sebagai draft atau final |
| Trigger | User menekan tombol tambah atau shortcut tambah |
| Kode FR | FR-05 FR-06 |
UC-04 : Mengubah invoice titipan DP draft
| Aktor | User keuangan |
| Deskripsi | User memperbaiki invoice titipan DP yang masih draft |
| Prekondisi | Invoice berstatus draft dan user memiliki hak dasar Titipan DP |
| Alur utama | 1. User memilih Edit pada invoice draft. 2. Sistem memuat detail invoice. 3. User mengubah informasi, lawan transaksi, atau baris pembayaran (tambah, ubah, hapus). 4. User menyimpan sebagai draft atau final. 5. Sistem menyimpan perubahan dan menampilkan "Berhasil Update Titipan / DP". |
| Alur negatif | - Jika baris metode pembayaran atau nominal kosong, muncul "Metode Pembayaran dan Nominal Tidak Boleh Kosong!". - Jika detail gagal dimuat, user dikembalikan ke daftar. - Jika server menolak, muncul notifikasi error. |
| Bisnis rule | - Menu Edit hanya muncul untuk invoice draft. - Baris pembayaran lama yang dihapus dikirim dengan penanda terhapus, bukan dibuang. |
| Postkondisi | Invoice draft terbarui atau menjadi final |
| Trigger | User memilih Edit |
| Kode FR | FR-07 FR-06 |
UC-05 : Memfinalisasi invoice titipan DP draft
| Aktor | User keuangan |
| Deskripsi | User mengubah invoice draft menjadi final tanpa membuka form edit |
| Prekondisi | Invoice berstatus draft |
| Alur utama | 1. User memilih Finalisasi pada daftar atau halaman detail. 2. Sistem menyimpan status final. 3. Sistem menampilkan "Berhasil Mengupdate Titipan Dp!" dan memperbarui status di daftar. |
| Alur negatif | - Jika server menolak, muncul notifikasi error dan status tetap draft. |
| Bisnis rule | - Hanya mengubah status final; isi invoice tidak berubah. |
| Postkondisi | Invoice berstatus selesai |
| Trigger | User memilih Finalisasi |
| Kode FR | FR-08 |
UC-06 : Membuka kembali (unlock) invoice titipan DP final ke draft
| Aktor | User keuangan dengan hak draft |
| Deskripsi | User mengembalikan invoice final menjadi draft agar dapat diubah |
| Prekondisi | Invoice berstatus final |
| Alur utama | 1. User memilih Ubah ke Simpan Draft. 2. Sistem membuka kunci invoice. 3. Sistem menampilkan "Berhasil Ubah ke Simpan Draft Invoice NOMOR" dan status menjadi draft. |
| Alur negatif | - Jika user tidak punya hak draft, menu tidak muncul. - Jika server menolak (misal DP sudah terpakai), muncul notifikasi error. |
| Bisnis rule | - Butuh hak global boleh draft dan hak draft Titipan DP sekaligus. |
| Postkondisi | Invoice kembali berstatus draft |
| Trigger | User memilih Ubah ke Simpan Draft |
| Kode FR | FR-09 |
UC-07 : Menghapus invoice titipan DP draft
| Aktor | User keuangan |
| Deskripsi | User menghapus invoice titipan DP yang masih draft |
| Prekondisi | Invoice berstatus draft dan user memiliki hak dasar Titipan DP |
| Alur utama | 1. User memilih Hapus. 2. Sistem menghapus invoice. 3. Sistem menampilkan "Berhasil Hapus Invoice NOMOR" dan menghapus baris dari daftar. |
| Alur negatif | - Jika server menolak, muncul notifikasi error. |
| Bisnis rule | - Menu Hapus hanya muncul untuk invoice draft. |
| Postkondisi | Invoice terhapus |
| Trigger | User memilih Hapus |
| Kode FR | FR-07 |
UC-08 : Mencetak invoice titipan DP
| Aktor | User keuangan |
| Deskripsi | User mencetak invoice titipan DP |
| Prekondisi | Invoice tersedia (draft untuk cetak sementara, final untuk cetak invoice) |
| Alur utama | 1. User memilih Cetak Invoice Sementara (draft) atau Cetak Invoice (final). 2. Sistem menandai invoice sebagai tercetak. 3. Sistem memuat detail invoice dan kop surat cabang. 4. Sistem membuat PDF invoice titipan DP. |
| Alur negatif | - Jika penandaan cetak atau pemuatan detail gagal, muncul notifikasi error dan cetak dibatalkan. - Cetak ulang invoice final dibatasi riwayat cetak dan hak reprint. |
| Bisnis rule | - Cetak ulang invoice final membutuhkan hak reprint. |
| Postkondisi | PDF invoice titipan DP tampil |
| Trigger | User memilih menu cetak |
| Kode FR | FR-10 |
UC-09 : Memposting ulang jurnal titipan DP
| Aktor | User keuangan |
| Deskripsi | User memicu ulang pembentukan jurnal untuk invoice final |
| Prekondisi | Invoice berstatus final |
| Alur utama | 1. User memilih Posting Ulang. 2. Sistem memproses ulang jurnal invoice. 3. Sistem menampilkan notifikasi berhasil posting ulang. |
| Alur negatif | - Jika server menolak, muncul notifikasi error. |
| Bisnis rule | - Menu hanya muncul untuk invoice final. |
| Postkondisi | Jurnal invoice titipan DP terbentuk ulang |
| Trigger | User memilih Posting Ulang |
| Kode FR | FR-11 |
5. Data Flow Diagram
DFD-01 — Alur data titipan DP
6. Sequence Diagram
SD-01 — UC-01 : Melihat daftar dan ringkasan titipan DP
SD-02 — UC-02 : Memfilter dan mengekspor daftar titipan DP
SD-03 — UC-03 : Membuat invoice titipan DP
SD-04 — UC-04 : Mengubah invoice titipan DP draft
SD-05 — UC-05 : Memfinalisasi invoice titipan DP draft
SD-06 — UC-06 : Membuka kembali (unlock) invoice titipan DP final ke draft
SD-07 — UC-07 : Menghapus invoice titipan DP draft
SD-08 — UC-08 : Mencetak invoice titipan DP
SD-09 — UC-09 : Memposting ulang jurnal titipan DP
7. Table Schema
8. API Schema
| Endpoint | Status | Perubahan |
|---|---|---|
GET /invoice-dp | existing | - |
GET /invoice-dp/:id | existing | - |
POST /invoice-dp | existing | - |
PUT /invoice-dp/:id | existing | - |
PUT /invoice-dp/invoice-only/:id | existing | - |
PUT /invoice-dp/unlock/:id | existing | - |
DELETE /invoice-dp/:id | existing | - |
POST /invoice-dp/sync | existing | - |
POST /invoice-dp/sync-bulk | existing | - |
POST /financial-report/invoice-dp-report | existing | - |
GET /customer | existing | - |
POST /supplier/get-supplier | existing | - |
GET /kop-surat | existing | - |