Skip to main content

Versi 1

FieldIsi
Dokumen IDVBS-FIN-003
DeskripsiPencatatan transaksi kas dan bank harian: pemasukan, pengeluaran, pemasukan dan pengeluaran sekaligus, serta reimbursement, termasuk lampiran, cetak bukti, dan pemindahan pengeluaran menjadi pembelian
Nomor Revisi1
Tanggal2026-10-04
KeteranganDokumentasi baseline dari dokumentasi fitur demo dan kode FE

1. Ringkasan​

a. In scope​

  • User melihat daftar transaksi kas bank (tanggal, nomor invoice, akun kas/bank, status invoice, nominal masuk, nominal keluar) beserta ringkasan uang diterima dan dikeluarkan dalam 30 hari terakhir.
  • User memfilter daftar berdasarkan tanggal invoice, akun kas/bank, nominal, gudang / cabang / kandang, klaster, biaya, mode, status invoice, dan keterangan nota, lalu mengekspor ke Excel.
  • User mencatat empat jenis transaksi: pemasukan, pengeluaran, pemasukan dan pengeluaran sekaligus, serta reimbursement.
  • Setiap transaksi memuat tanggal, lokasi, kandang / gudang / cabang, akun kas/bank, klaster, mata uang asing (opsional), baris akun lawan dengan biaya / keterangan dan nominal, keterangan nota, serta lampiran.
  • Pilihan akun lawan dibatasi oleh konfigurasi hak akses akun (pendapatan, pengeluaran, hutang, biaya dibayar di muka, dan sejenisnya).
  • User menyimpan sebagai draft atau final, mengubah dan menghapus draft, mengubah final kembali ke draft, mencetak bukti, memposting ulang, menambah lampiran pada invoice final, dan memindahkan baris pengeluaran menjadi invoice pembelian.

b. Catatan​

c. Kesimpulan​

  • [FE] -
  • [BE] -

2. Functional Requirement​

KodeDeskripsi
FR-01Sistem menampilkan daftar transaksi kas bank dengan mode Harian, Pemasukan, Pengeluaran, dan Reimburse
FR-02Sistem menampilkan ringkasan total uang masuk dan keluar dari transaksi final 30 hari terakhir
FR-03User dapat memfilter daftar dan mengekspornya ke Excel
FR-04User dapat mencatat transaksi pemasukan kas/bank dengan banyak baris akun lawan
FR-05User dapat mencatat transaksi pengeluaran kas/bank dengan banyak baris akun lawan
FR-06User dapat mencatat pemasukan dan pengeluaran dalam satu transaksi
FR-07User dapat mencatat reimbursement dengan tanggal bayar per baris
FR-08User dapat melampirkan file pada transaksi
FR-09User dapat menyimpan transaksi sebagai draft atau final
FR-10User dapat mengubah dan menghapus transaksi draft
FR-11User dengan hak draft dapat mengubah transaksi final kembali ke draft
FR-12User dapat mencetak bukti kas bank dan memposting ulang jurnal
FR-13User dapat menambah lampiran pada transaksi final
FR-14User dapat memindahkan baris pengeluaran transaksi final menjadi invoice pembelian

3. Use Case List​

KodeDeskripsi
UC-01Melihat daftar dan ringkasan kas bank
UC-02Memfilter dan mengekspor daftar kas bank
UC-03Mencatat pemasukan kas/bank
UC-04Mencatat pengeluaran kas/bank
UC-05Mencatat pemasukan dan pengeluaran sekaligus
UC-06Mencatat reimbursement
UC-07Mengubah transaksi kas bank draft
UC-08Membuka kembali (unlock) transaksi kas bank final ke draft
UC-09Menghapus transaksi kas bank draft
UC-10Mencetak bukti kas bank
UC-11Memposting ulang jurnal kas bank
UC-12Menambah lampiran pada transaksi final
UC-13Memindahkan pengeluaran kas bank menjadi pembelian

4. Use Case Scenario​

UC-01 : Melihat daftar dan ringkasan kas bank​

AktorUser keuangan
DeskripsiUser melihat daftar transaksi kas bank dan ringkasan 30 hari terakhir
PrekondisiUser sudah login dan memiliki akses menu Kas Bank
Alur utama1. User membuka menu Keuangan, Kas Bank.
2. Sistem menampilkan ringkasan total uang diterima dan dikeluarkan 30 hari terakhir.
3. Sistem menampilkan daftar transaksi dengan infinite scroll.
4. User membuka detail transaksi.
Alur negatif- Jika gagal memuat, sistem menampilkan keadaan kosong / alert error.
Bisnis rule- Ringkasan hanya menghitung transaksi final.
- Tanpa hak lihat semua user, daftar hanya memuat transaksi buatan user sendiri.
- Daftar memuat mode Harian, Pengeluaran, Pemasukan, dan Reimburse (Transfer Uang tidak termasuk).
PostkondisiRingkasan dan daftar tampil
TriggerUser membuka halaman Kas Bank
Kode FRFR-01
FR-02

UC-02 : Memfilter dan mengekspor daftar kas bank​

AktorUser keuangan
DeskripsiUser mempersempit daftar transaksi dan mengunduhnya
PrekondisiUser berada di daftar Kas Bank
Alur utama1. User mengisi filter tanggal invoice, akun kas/bank, nominal, gudang / cabang / kandang, klaster, biaya, mode, status invoice, atau keterangan nota.
2. Sistem memuat ulang daftar.
3. User menekan export dan sistem mengunduh file Excel.
Alur negatif- Jika hasil export kosong, file tidak dibuat.
- Filter nominal baru dikirim jika minimal 3 karakter.
Bisnis rule- Mode: Pemasukan, Pengeluaran, Reimburse.
- Status invoice: draft / selesai.
PostkondisiDaftar terfilter tampil atau file Excel terunduh
TriggerUser mengubah filter atau menekan export
Kode FRFR-03

UC-03 : Mencatat pemasukan kas/bank​

AktorUser keuangan
DeskripsiUser mencatat uang masuk ke akun kas/bank
PrekondisiUser memiliki hak kolom masuk kas bank
Alur utama1. User memilih Buat Tindakan, Pemasukan.
2. User mengisi tanggal, lokasi, kandang / gudang / cabang, akun kas/bank, klaster, dan mata uang (opsional).
3. User mengisi baris pemasukan: biaya / keterangan, akun lawan, dan nominal masuk.
4. User mengisi keterangan nota dan lampiran (opsional).
5. User menyimpan sebagai draft atau final.
6. Sistem menyimpan transaksi lalu mengunggah lampiran.
Alur negatif- Jika menambah baris sebelum memilih akun kas, muncul "Silahkan pilih akun Kas terlebih dahulu!".
- Jika form wajib belum lengkap, muncul "Tolong lengkapi form dengan benar!".
- Jika akun lawan sama dengan akun kas/bank, muncul "Anda tidak boleh memasukkan lawan rekening yang sama!".
- Jika baris bernominal tanpa akun lawan, muncul "Silahkan cek kembali Kategori Akun Anda!".
- Jika tidak ada baris sama sekali, muncul "Tolong Isi Data Dengan Benar".
- Jika lampiran terlalu besar, transaksi yang baru dibuat dihapus kembali.
Bisnis rule- Hanya baris dengan nominal lebih dari 0 yang dikirim.
- Kolom keluar dinonaktifkan pada mode pemasukan.
- Akun lawan dibatasi hak akses kelompok rekening.
PostkondisiTransaksi pemasukan tersimpan (mode Pemasukan)
TriggerUser memilih Pemasukan
Kode FRFR-04
FR-08
FR-09

UC-04 : Mencatat pengeluaran kas/bank​

AktorUser keuangan
DeskripsiUser mencatat uang keluar dari akun kas/bank
PrekondisiUser memiliki hak kolom keluar kas bank
Alur utama1. User memilih Buat Tindakan, Pengeluaran.
2. User mengisi informasi transaksi seperti pada pemasukan.
3. User mengisi baris pengeluaran: biaya / keterangan, akun lawan, dan nominal keluar.
4. User menyimpan sebagai draft atau final.
Alur negatif- Validasi sama dengan UC-03 (akun kas wajib, akun lawan tidak boleh sama, kategori akun wajib).
- Jika server menolak, muncul alert error.
Bisnis rule- Kolom masuk dinonaktifkan pada mode pengeluaran.
- Baris biaya dari master biaya mengirim id biaya.
PostkondisiTransaksi pengeluaran tersimpan (mode Pengeluaran)
TriggerUser memilih Pengeluaran
Kode FRFR-05
FR-09

UC-05 : Mencatat pemasukan dan pengeluaran sekaligus​

AktorUser keuangan
DeskripsiUser mencatat uang masuk dan keluar dalam satu transaksi
PrekondisiUser memiliki hak kolom masuk dan kolom keluar kas bank
Alur utama1. User memilih Buat Tindakan, Pemasukan dan Pengeluaran.
2. User mengisi informasi transaksi.
3. Setiap baris diisi nominal masuk atau keluar.
4. User menyimpan sebagai draft atau final.
Alur negatif- Validasi sama dengan UC-03.
- Jika user tidak punya hak masuk dan keluar, menu ini tidak muncul.
Bisnis rule- Transaksi gabungan disimpan dengan mode Harian.
- Satu baris hanya boleh terisi masuk atau keluar.
PostkondisiTransaksi gabungan tersimpan
TriggerUser memilih Pemasukan dan Pengeluaran
Kode FRFR-06
FR-09

UC-06 : Mencatat reimbursement​

AktorUser keuangan
DeskripsiUser mencatat penggantian biaya yang dibayarkan dari kas/bank
PrekondisiUser memiliki akses Kas Bank
Alur utama1. User memilih Buat Tindakan, Reimburse.
2. User mengisi tanggal bayar, kandang / gudang / cabang, lokasi, akun kas/bank, dan klaster.
3. User mengisi baris pengeluaran dengan tanggal per baris dan nominal keluar.
4. User mengisi kolom reimburse dibuat oleh.
5. User menyimpan sebagai draft atau final.
Alur negatif- Validasi sama dengan UC-03.
- Jika server menolak, muncul alert error.
Bisnis rule- Mode tersimpan Reimburse.
- Setiap baris reimbursement membawa tanggalnya sendiri.
- Label keterangan nota berubah menjadi "reimburse dibuat oleh".
PostkondisiTransaksi reimbursement tersimpan
TriggerUser memilih Reimburse
Kode FRFR-07
FR-09

UC-07 : Mengubah transaksi kas bank draft​

AktorUser keuangan
DeskripsiUser memperbaiki transaksi kas bank yang masih draft
PrekondisiTransaksi berstatus draft dan user memiliki hak dasar
Alur utama1. User memilih Edit.
2. Sistem memuat detail transaksi.
3. User mengubah informasi, baris, atau lampiran.
4. User menyimpan sebagai draft atau final.
5. Sistem menyimpan perubahan, menghapus lampiran lama yang dibuang, lalu mengunggah lampiran baru.
Alur negatif- Jika user dibatasi transaksi hari ini dan tanggal invoice bukan hari ini, muncul "Anda tidak bisa merubah Invoice Kas Bank yang tidak sama dengan hari ini!".
- Validasi baris sama dengan UC-03.
Bisnis rule- Pembatasan transaksi hari ini tidak berlaku untuk admin brand.
- Baris lama yang dihapus dikirim dengan penanda terhapus.
PostkondisiTransaksi draft terbarui atau menjadi final
TriggerUser memilih Edit
Kode FRFR-10

UC-08 : Membuka kembali (unlock) transaksi kas bank final ke draft​

AktorUser keuangan dengan hak draft
DeskripsiUser mengembalikan transaksi final menjadi draft
PrekondisiTransaksi berstatus final
Alur utama1. User memilih Ubah ke Simpan Draft.
2. Sistem membuka kunci transaksi.
3. Sistem menampilkan "Berhasil Ubah ke Simpan Draft Invoice NOMOR".
Alur negatif- Jika user tidak punya hak, menu tidak muncul.
- Jika server menolak, muncul notifikasi error.
Bisnis rule- Butuh hak global boleh draft dan hak draft Kas Bank.
PostkondisiTransaksi kembali berstatus draft
TriggerUser memilih Ubah ke Simpan Draft
Kode FRFR-11

UC-09 : Menghapus transaksi kas bank draft​

AktorUser keuangan dengan hak draft
DeskripsiUser menghapus transaksi kas bank yang masih draft
PrekondisiTransaksi berstatus draft
Alur utama1. User memilih Hapus.
2. Sistem menampilkan konfirmasi "Anda yakin ingin menghapus NOMOR?".
3. Sistem menghapus transaksi dan menampilkan "Berhasil hapus Transaksi Kas Bank".
Alur negatif- Jika user membatalkan konfirmasi, data tidak dihapus.
- Jika server menolak, muncul alert error.
Bisnis rule- Menu Hapus hanya untuk draft dan butuh hak draft.
PostkondisiTransaksi terhapus
TriggerUser memilih Hapus
Kode FRFR-10

UC-10 : Mencetak bukti kas bank​

AktorUser keuangan
DeskripsiUser mencetak bukti transaksi kas bank final
PrekondisiTransaksi berstatus final
Alur utama1. User memilih Cetak Invoice.
2. Sistem menandai transaksi tercetak dan memuat detail siap cetak.
3. Sistem mencetak dengan format default brand atau menampilkan pilihan ukuran kertas.
Alur negatif- Jika penandaan cetak gagal, muncul notifikasi error.
- Cetak ulang dibatasi riwayat cetak dan hak reprint.
Bisnis rule- Format cetak mengikuti konfigurasi default print transaksi brand.
PostkondisiBukti kas bank tercetak
TriggerUser memilih Cetak Invoice
Kode FRFR-12

UC-11 : Memposting ulang jurnal kas bank​

AktorUser keuangan
DeskripsiUser memicu ulang pembentukan jurnal transaksi final
PrekondisiTransaksi berstatus final
Alur utama1. User memilih Posting Ulang.
2. Sistem memproses ulang jurnal.
3. Sistem menampilkan "Berhasil Sync Invoice NOMOR" dan memuat ulang daftar.
Alur negatif- Jika server menolak, muncul notifikasi error.
Bisnis rule- Hanya untuk transaksi final.
PostkondisiJurnal transaksi terbentuk ulang
TriggerUser memilih Posting Ulang
Kode FRFR-12

UC-12 : Menambah lampiran pada transaksi final​

AktorUser keuangan dengan hak lampiran kas bank
DeskripsiUser melampirkan file pada transaksi yang sudah final
PrekondisiTransaksi final dan user memiliki hak lampiran kas bank
Alur utama1. User memilih Tambah Lampiran.
2. User memilih file.
3. Sistem mengunggah lampiran dan menampilkan "Berhasil Tambah Lampiran".
Alur negatif- Jika unggah gagal, muncul notifikasi error.
Bisnis rule- Menu hanya untuk transaksi final dengan hak lampiran kas bank.
PostkondisiLampiran tersimpan pada transaksi
TriggerUser memilih Tambah Lampiran
Kode FRFR-13

UC-13 : Memindahkan pengeluaran kas bank menjadi pembelian​

AktorUser keuangan
DeskripsiUser mengubah baris pengeluaran transaksi final menjadi invoice pembelian
PrekondisiTransaksi final yang memiliki baris pengeluaran
Alur utama1. User memilih Pindah ke Pembelian.
2. Sistem memuat detail transaksi dan menampilkan baris pengeluaran.
3. User memilih supplier, opsi PPN, nomor invoice (opsional), dan baris pengeluaran.
4. Sistem memindahkan baris terpilih menjadi invoice pembelian.
5. Sistem menampilkan "Berhasil memindahkan data kasbank ke pembelian".
Alur negatif- Jika tidak ada baris dipilih, muncul "Tidak ada cashflow keluar untuk dipindahkan".
- Jika server menolak, muncul notifikasi error.
Bisnis rule- Hanya baris pengeluaran (cashflow keluar) yang dapat dipindahkan.
PostkondisiInvoice pembelian terbentuk dari pengeluaran kas bank
TriggerUser memilih Pindah ke Pembelian
Kode FRFR-14

5. Data Flow Diagram​

DFD-01 — Alur data kas bank​

6. Sequence Diagram​

SD-01 — UC-01 : Melihat daftar dan ringkasan kas bank​

SD-02 — UC-02 : Memfilter dan mengekspor daftar kas bank​

SD-03 — UC-03 : Mencatat pemasukan kas/bank​

SD-04 — UC-04 : Mencatat pengeluaran kas/bank​

SD-05 — UC-05 : Mencatat pemasukan dan pengeluaran sekaligus​

SD-06 — UC-06 : Mencatat reimbursement​

SD-07 — UC-07 : Mengubah transaksi kas bank draft​

SD-08 — UC-08 : Membuka kembali (unlock) transaksi kas bank final ke draft​

SD-09 — UC-09 : Menghapus transaksi kas bank draft​

SD-10 — UC-10 : Mencetak bukti kas bank​

SD-11 — UC-11 : Memposting ulang jurnal kas bank​

SD-12 — UC-12 : Menambah lampiran pada transaksi final​

SD-13 — UC-13 : Memindahkan pengeluaran kas bank menjadi pembelian​

7. Table Schema​

8. API Schema​

EndpointStatusPerubahan
GET /invoice-kasbank-harianexisting-
GET /invoice-kasbank-harian/:idexisting-
POST /invoice-kasbank-harianexisting-
PUT /invoice-kasbank-harian/:idexisting-
PUT /invoice-kasbank-harian/invoice-only/:idexisting-
PUT /invoice-kasbank-harian/unlock/:idexisting-
DELETE /invoice-kasbank-harian/:idexisting-
POST /invoice-kasbank-harian/sync/existing-
POST /invoice-kasbank-harian/invoice-cashflow/pictureexisting-
POST /invoice-kasbank-harian/invoice-cashflow/delete/picture/:idexisting-
POST /invoice-pembelian/cashflow-to-pembelian/existing-
POST /financial-report/invoice-cashflow-reportexisting-
GET /rekeningexisting-