Skip to main content

Versi 1

FieldIsi
Dokumen IDVBS-PBL-002
DeskripsiPembayaran hutang kepada supplier / karyawan atas invoice hutang yang belum lunas, beserta ringkasan hutang, daftar, filter, dan pengelolaan status draft / selesai
Nomor Revisi1
Tanggal2026-10-04
KeteranganDokumentasi baseline dari dokumentasi fitur demo dan kode FE

1. Ringkasan​

a. In scope​

  • User melihat ringkasan hutang: hutang belum dibayar, hutang jatuh tempo, dan hutang terbayar 30 hari terakhir.
  • User melihat daftar pembayaran hutang (tanggal, nomor invoice, nama supplier / karyawan, status invoice, total pembayaran, keterangan).
  • User memfilter daftar berdasarkan tanggal invoice, nomor invoice pembelian, supplier, status (selesai / proses posting / draft), keterangan, invoice hutang, dan total pembayaran.
  • User membuat pembayaran hutang: memilih supplier, memilih invoice hutang yang dibayar, mengisi biaya admin dan biaya selisih bayar, lalu mengisi metode pembayaran (termasuk memakai titipan DP).
  • User langsung membayar hutang dari invoice pembelian melalui aksi Lunasi Hutang.
  • User menyimpan pembayaran sebagai draft atau final.
  • User mengubah dan menghapus pembayaran draft, membuka kembali pembayaran selesai ke draft, memposting ulang, mencetak bukti, dan mengubah pembayaran hutang menjadi DP.

b. Catatan​

c. Kesimpulan​

  • [FE] -
  • [BE] -

2. Functional Requirement​

KodeDeskripsi
FR-01Sistem menampilkan ringkasan hutang belum dibayar, jatuh tempo, dan terbayar 30 hari terakhir bagi user berhak
FR-02Sistem menampilkan daftar pembayaran hutang non konsinyasi dengan pagination
FR-03User dapat memfilter daftar pembayaran hutang
FR-04User dapat membuat pembayaran hutang atas satu atau lebih invoice hutang milik satu supplier
FR-05Sistem memvalidasi keseimbangan total dibayar dengan total metode pembayaran
FR-06User dapat menyimpan pembayaran sebagai draft atau final
FR-07User dapat mengubah dan menghapus pembayaran draft
FR-08User berhak dapat mengubah pembayaran selesai menjadi draft
FR-09User dapat memposting ulang pembayaran hutang
FR-10User dapat mencetak bukti pembayaran hutang
FR-11User dapat mengubah pembayaran hutang menjadi DP

3. Use Case List​

KodeDeskripsi
UC-01Melihat ringkasan dan daftar pembayaran hutang
UC-02Memfilter daftar pembayaran hutang
UC-03Membuat pembayaran hutang
UC-04Mengubah pembayaran hutang draft
UC-05Menghapus pembayaran hutang draft
UC-06Membuka kembali (unlock) pembayaran hutang ke draft
UC-07Memposting ulang pembayaran hutang
UC-08Mencetak bukti pembayaran hutang
UC-09Mengubah pembayaran hutang menjadi DP

4. Use Case Scenario​

UC-01 : Melihat ringkasan dan daftar pembayaran hutang​

AktorUser dengan hak #pembayaran-hutang
DeskripsiUser melihat ringkasan hutang dan daftar pembayaran hutang
PrekondisiUser sudah login
Brand aktif
Alur utama1. User membuka menu Pembayaran Hutang.
2. Sistem menjalankan sinkronisasi pembayaran hutang di latar belakang.
3. Sistem menampilkan kartu ringkasan hutang.
4. Sistem menampilkan daftar pembayaran hutang terbaru.
Alur negatif- Jika daftar kosong tanpa filter, muncul "Daftar Invoice masih kosong".
- Jika daftar kosong dengan filter, muncul "Invoice Tidak Ditemukan".
- Jika ringkasan gagal dimuat, nominal ditampilkan 0.
Bisnis rule- Kartu ringkasan hanya tampil bagi user dengan hak #summary-keuangan.
- Daftar hanya memuat pembayaran hutang non konsinyasi.
- Status final yang belum terposting tampil sebagai Proses Posting dengan anjuran posting ulang.
PostkondisiRingkasan dan daftar tampil
TriggerUser membuka halaman Pembayaran Hutang
Kode FRFR-01
FR-02

UC-02 : Memfilter daftar pembayaran hutang​

AktorUser dengan hak #pembayaran-hutang
DeskripsiUser mempersempit daftar pembayaran hutang
PrekondisiUser berada di halaman daftar
Alur utama1. User mencari nomor invoice.
2. User membuka Filter dan mengisi tanggal invoice, nomor invoice pembelian, supplier, status, keterangan, invoice hutang, dan/atau total pembayaran.
3. Sistem memuat ulang daftar sesuai filter.
Alur negatif- Jika tidak ada data cocok, muncul "Invoice Tidak Ditemukan".
- Reset mengosongkan seluruh filter.
Bisnis rule- Status: Selesai, Proses Posting, Draft.
- Status Draft berarti pembayaran belum tercetak, status lain berarti sudah final.
PostkondisiDaftar sesuai filter
TriggerUser mengubah filter
Kode FRFR-03

UC-03 : Membuat pembayaran hutang​

AktorUser dengan hak #pembayaran-hutang basic
DeskripsiUser membayar satu atau lebih invoice hutang milik satu supplier
PrekondisiSupplier memiliki invoice hutang dengan sisa hutang lebih dari 0 dan bukan draft
Alur utama1. User klik Tambah, atau memilih Lunasi Hutang dari invoice pembelian.
2. User mengisi tanggal dan memilih supplier (bayar hutang dari).
3. Sistem menampilkan invoice hutang supplier yang masih bersisa dan titipan DP supplier.
4. User memilih invoice yang dibayar dan nominal bayarnya.
5. User mengisi biaya admin dan biaya selisih bayar (jika ada).
6. User mengisi metode pembayaran.
7. User memilih Simpan Draft atau Simpan Final, lalu mengonfirmasi.
8. Sistem menyimpan pembayaran dan mengunggah lampiran.
Alur negatif- Jika invoice belum dipilih, muncul "Nota yang ingin dibayar Harus Diisi".
- Jika informasi belum lengkap, muncul "Form Informasi Harus Diisi".
- Jika metode pembayaran kosong, muncul "Form Metode Pembayaran Harus Diisi".
- Jika nominal bayar melebihi sisa hutang, muncul "Nominal Bayar harus kurang dari Sisa Hutang ...".
- Jika nominal titipan melebihi sisa DP, muncul "nominal tidak boleh melebihi sisa dp".
- Jika final tetapi ada selisih, muncul peringatan "Selisih total pembayaran dan total nilai dibayar harus 0 ..." dengan opsi Simpan Sementara.
Bisnis rule- Satu pembayaran hanya untuk satu lawan transaksi (person supplier).
- Invoice hutang yang bisa dipilih: person supplier, karyawan, atau gudang dengan sisa hutang lebih dari 0 dan bukan draft.
- Simpan final mewajibkan selisih total dibayar dan total metode pembayaran = 0, selisih pembulatan dimasukkan ke biaya selisih bayar.
- Metode titipan memakai invoice DP supplier dengan sisa DP lebih dari 0.
- Jika dibuka dari pembelian, supplier dan invoice hutang terisi otomatis.
PostkondisiPembayaran hutang tersimpan dan sisa hutang invoice berkurang saat final
TriggerUser klik Simpan
Kode FRFR-04
FR-05
FR-06

UC-04 : Mengubah pembayaran hutang draft​

AktorUser dengan hak #pembayaran-hutang basic
DeskripsiUser memperbaiki pembayaran hutang yang masih draft
PrekondisiPembayaran berstatus draft
Alur utama1. User memilih Edit pada menu aksi.
2. Sistem memuat detail pembayaran, invoice yang dibayar, dan metode pembayaran.
3. User mengubah data lalu menyimpan draft / final.
Alur negatif- Validasi sama seperti pembuatan.
Bisnis rule- Menu Edit hanya muncul untuk pembayaran draft.
PostkondisiPembayaran diperbarui
TriggerUser klik Edit
Kode FRFR-07

UC-05 : Menghapus pembayaran hutang draft​

AktorUser dengan hak #can-draft dan #pembayaran-hutang draft
DeskripsiUser menghapus pembayaran hutang draft
PrekondisiPembayaran berstatus draft
Alur utama1. User memilih Hapus.
2. User mengonfirmasi.
3. Sistem menghapus pembayaran dan menampilkan pesan berhasil.
Alur negatif- Jika server menolak, muncul pesan error.
Bisnis rule- Hapus hanya untuk pembayaran draft.
PostkondisiPembayaran terhapus dari daftar
TriggerUser klik Hapus
Kode FRFR-07

UC-06 : Membuka kembali (unlock) pembayaran hutang ke draft​

AktorUser dengan hak #can-draft dan #pembayaran-hutang draft
DeskripsiUser mengubah pembayaran final menjadi draft
PrekondisiPembayaran sudah final
Alur utama1. User memilih Ubah ke Simpan Draft.
2. Sistem membuka kunci pembayaran.
3. Muncul "Berhasil Ubah ke Simpan Draft Invoice ...".
Alur negatif- Tanpa hak, menu tidak tampil.
- Jika gagal, muncul pesan error.
Bisnis rule- Unlock butuh hak #can-draft dan #pembayaran-hutang draft.
PostkondisiPembayaran kembali draft
TriggerUser klik Ubah ke Simpan Draft
Kode FRFR-08

UC-07 : Memposting ulang pembayaran hutang​

AktorUser dengan hak #pembayaran-hutang basic
DeskripsiUser memposting ulang pembayaran yang masih proses posting
PrekondisiPembayaran final dan status bukan draft
Alur utama1. User memilih Posting Ulang.
2. Sistem menyinkronkan pembayaran.
3. Muncul pesan berhasil posting ulang.
Alur negatif- Jika gagal, muncul pesan error.
Bisnis rule- Posting ulang dijalankan langsung (bukan worker).
PostkondisiPembayaran terposting
TriggerUser klik Posting Ulang
Kode FRFR-09

UC-08 : Mencetak bukti pembayaran hutang​

AktorUser dengan hak #pembayaran-hutang reprint
DeskripsiUser mencetak bukti pembayaran hutang
PrekondisiPembayaran memenuhi syarat cetak ulang
Alur utama1. User memilih Cetak Nota.
2. Sistem mencatat riwayat cetak dan memuat detail.
3. Sistem membuat layout cetak beserta kop surat.
Alur negatif- Jika gagal memuat data, muncul pesan error.
Bisnis rule- Cetak ulang mengikuti riwayat cetak dan hak reprint.
PostkondisiBukti pembayaran tercetak
TriggerUser klik Cetak Nota
Kode FRFR-10

UC-09 : Mengubah pembayaran hutang menjadi DP​

AktorUser brand
DeskripsiUser mengonversi pembayaran hutang menjadi titipan DP
PrekondisiPembayaran hutang tersedia di daftar
Alur utama1. User memilih Ubah Jadi DP.
2. Sistem mengonversi pembayaran.
3. Muncul "Berhasil ubah pembayaran hutang menjadi DP".
Alur negatif- Jika gagal, muncul pesan error.
Bisnis rule- Konversi dikirim sebagai daftar id invoice.
PostkondisiPembayaran tercatat sebagai DP
TriggerUser klik Ubah Jadi DP
Kode FRFR-11

5. Data Flow Diagram​

DFD-01 — Alur pembayaran hutang​

DFD-02 — Status pembayaran hutang​

6. Sequence Diagram​

SD-01 — UC-01 : Melihat ringkasan dan daftar pembayaran hutang​

SD-02 — UC-02 : Memfilter daftar pembayaran hutang​

SD-03 — UC-03 : Membuat pembayaran hutang​

SD-04 — UC-04 : Mengubah pembayaran hutang draft​

SD-05 — UC-05 : Menghapus pembayaran hutang draft​

SD-06 — UC-06 : Membuka kembali (unlock) pembayaran hutang ke draft​

SD-07 — UC-07 : Memposting ulang pembayaran hutang​

SD-08 — UC-08 : Mencetak bukti pembayaran hutang​

SD-09 — UC-09 : Mengubah pembayaran hutang menjadi DP​

7. Table Schema​

8. API Schema​

EndpointStatusPerubahan
POST /financial-report/invoice-hutang-reportexisting-
POST /financial-report/invoice-bayar-hutang-reportexisting-
GET /invoice-bayar-hutangexisting-
GET /invoice-bayar-hutang/:idexisting-
POST /invoice-bayar-hutangexisting-
PUT /invoice-bayar-hutang/:idexisting-
DELETE /invoice-bayar-hutang/:idexisting-
POST /invoice-bayar-hutang/unlockexisting-
POST /invoice-bayar-hutang/syncexisting-
POST /invoice-bayar-hutang/sync-bulkexisting-
PUT /invoice-bayar-hutang/invoice-only/:idexisting-
POST /invoice-bayar-hutang/upload/:idexisting-
POST /cross-invoice-transaction/ibh-to-dpexisting-
GET /invoice-hutangexisting-
GET /invoice-dpexisting-