Lewati ke konten utama

Billing Dashboard Insight

Halaman utama Billing Backoffice bertugas menyajikan ringkasan kesehatan finansial perusahaan kepada para eksekutif dan Admin Finance.


1. Ringkasan Pendapatan & Deposit

Untuk merender kartu metrik (Metric Cards) di bagian atas Dashboard, Frontend dapat memanggil endpoint agregasi ini.

A. Metrik Deposit Bulanan (Prepaid)

Menghitung total nominal uang Topup yang sukses disetorkan pelanggan bulan ini dibandingkan bulan lalu.

Request
GET /api/backoffice/dashboard/customer/deposit

B. Metrik Pendapatan (Postpaid)

Menghitung total uang dari tagihan pascabayar yang sudah terverifikasi lunas.

Request
GET /api/backoffice/dashboard/customer/revenue

Format Respons (Keduanya 200 OK):

{
"data": {
"current_month_total": 50000000.00,
"last_month_total": 45000000.00,
"growth_percentage": 11.11
}
}

Tip Frontend: Gunakan atribut growth_percentage untuk menampilkan ikon panah hijau (naik) atau merah (turun).


2. Kesehatan Penagihan (Billing Health)

Sebagai penyedia layanan Cloud Prepaid, mimpi buruk terbesar adalah ketika pelanggan kehabisan saldo namun VM mereka terus menyala (menjadi minus). Daftar pelanggan yang memiliki saldo negatif harus disorot di Dashboard.

Request
GET /api/backoffice/dashboard/billing/health?page=1&limit=5

Respons (200 OK): Mereturn daftar nama pengguna yang atribut actual_balance-nya di bawah nol, beserta tanda apakah akun mereka sudah di-suspend atau belum.


3. Pemakaian Aktif Tertinggi (Top Spenders)

Admin juga dapat memantau resource apa yang sedang menghabiskan biaya paling besar saat ini. Ini membantu divisi Sales untuk melakukan Up-selling.

Request
GET /api/backoffice/dashboard/billing/active?page=1&limit=5

Respons (200 OK): Mereturn daftar ID penagihan berjalan yang sedang menyedot biaya tagihan paling tinggi (contoh: Bare Metal Server dengan Current Cost paling besar).


4. Requeue Penagihan Aktif (Requeue Billing)

Dalam kondisi tertentu (misalnya kegagalan Cronjob atau database deadlock), sebuah sesi penagihan (active billing) mungkin gagal diproses atau terhenti statis. Admin dapat melakukan penyelesaian paksa (force settle) atau antre ulang terhadap sesi tersebut.

Request
PATCH /api/backoffice/dashboard/billing/requeue?billing_id=12345

Respons (200 OK): Sistem akan memasukkan kembali billing tersebut ke dalam antrean RabbitMQ atau Cronjob agar segera diproses ulang (dipotong saldonya).