VPMS — Dokumentasi
🔍
Panduan Resmi

Dokumentasi VPMS

Panduan lengkap VPMS — dari setup awal (cabang, router, profile), sistem agen bertingkat A/B/C, mesin komisi (final & on-top), keuangan agen (saldo, top up, utang, withdraw), sampai PPPoE dan keamanan sesi. Gunakan pencarian di kiri atas untuk langsung menuju fitur yang dicari.

BAGIAN 1 Login & Sesi

Semua pengguna (admin, agen, pelanggan portal) masuk lewat halaman login yang sama.

  1. Buka alamat panel: memuat….
  2. Isi Username dan Password, klik Masuk.
  3. Anda diarahkan ke Dashboard sesuai role akun Anda.
Halaman login VPMS
Halaman Login VPMS — username & password akun Anda.

Aturan sesi (penting)

BAGIAN 2 Role & Hak Akses

VPMS punya 4 role utama di panel: Admin dan tiga tingkat agen: A, B, C. Menu dan tombol yang tampil otomatis mengikuti role — dan backend tetap memvalidasi setiap aksi (tidak bisa ditembus lewat API).

FiturAdminAgen AAgen BAgen C
Master data (router, cabang, profile, user)
Daftarkan downline✓ (A)✓ (B/C)✓ (C)
Generate voucher (saldo sendiri)
Generate pakai saldo downline✓ semua✓ B/C
Top Up saldo
Input utang
Disable / enable akun✓ semua✓ B/C
Transfer saldo ke bawah✓ semua✓ B/C
Withdraw komisi
Approve claim voucher✓ downline
Set komisi profile✓ A/B/C✓ bagian B/C
PPPoE (paket, pelanggan, invoice)△ lihat subtree✓ miliknya
Monitor top up✓ semua△ dirinya+B/C△ dirinya+C△ sendiri
Catatan: Admin tidak punya dompet saldo — admin bertindak sebagai pemilik/ISP. Semua transaksi uang agen lewat saldo agen (lihat Bagian 15).

BAGIAN 3 Cabang / POP ADMIN

Cabang (POP) adalah lokasi fisik layanan. Satu cabang terikat ke satu router, dan menjadi unit terkecil untuk pembatasan akses agen.

  1. Buka menu Master Data → Cabang → klik Tambah Cabang.
  2. Isi nama cabang (mis. POP-Jakarta-01) lalu simpan.
  3. Cabang nanti dipilih saat membuat router, profile, dan saat mendaftarkan agen.
Halaman Cabang / POP
Halaman Cabang / POP — daftar cabang dengan status aktif.

BAGIAN 4 Router MikroTik ADMIN

Buka Master Data → RouterTambah Router. Isi data koneksi router MikroTik Anda:

Form Tambah Router
Form Tambah Router — data koneksi API/SSH MikroTik.

Penjelasan isian form

IP / HostAlamat IP atau domain router (IP publik / DDNS).
API Port / SSH PortPort API RouterOS default 8728, SSH default 22.
Username / Password RouterAkun RouterOS dengan hak baca/tulis (untuk deploy script).
Hotspot Name / DNSNama hotspot & alamat login untuk cetakan voucher.
TipeProduction atau Dev.
Mode Laporan PenjualanApp (script VPMS) · Mikhmon · Combine — sumber data laporan penjualan.
Interval Sync Penjualan30 menit / 1 jam / 12 jam.

Test, Scripts & Sync

Daftar router dengan tombol aksi
Daftar Router — tombol Test, Scripts, Sync Penjualan.
  1. Test — cek koneksi. Berhasil jika identitas router muncul.
  2. Scripts — deploy script on-login/cleanup/remove-record ke router. Wajib agar penjualan tercatat otomatis.
  3. Sync Penjualan — tarik data penjualan ke database VPMS.
Urutan benar: Simpan router → TestScriptsSync Penjualan.

BAGIAN 5 Profile Voucher & Setting Komisi ADMIN AGEN A

Profile voucher menentukan harga dasar dan aturan komisi berjenjang yang dipakai seluruh rantai agen.

  1. Menu Hotspot → Profile VoucherTambah Profile.
  2. Isi nama, harga jual (default_price), validitas, limit uptime, kecepatan, shared users.
  3. Tentukan mode komisi: final atau ontop (penjelasan di Bagian 12).
  4. Tentukan persentase berjenjang (lihat tabel di bawah).

Field komisi berjenjang pada profile

Komisi A (%)Persen komisi level A dari harga dasar. Contoh 25 → 25.000 dari harga 100.000. Hanya admin yang bisa mengubah.
Komisi B (%)Persen bagian B dari komisi A. Contoh 50 → 12.500. Bisa diubah agen A.
Komisi C (%)Persen bagian C dari komisi B. Contoh 50 → 6.250. Isi 0 jika profile ini tidak dipakai level C.
Modefinal = harga jual mati (tidak boleh markup) · ontop = agen boleh menjual lebih mahal (markup).
Agen A juga bisa mengubah komisi B/C + mode melalui menu Agen A/B/C → Setting Komisi per Profile — tetapi komisi A tetap milik admin.

BAGIAN 5b Payment Gateway (Midtrans) ADMIN

Menu Master Data → Payment Gateway — tempat mengelola kredensial pembayaran Midtrans. Sebelumnya hanya bisa lewat file .env di server, sekarang bisa diatur dari panel.

Apa saja yang diatur

ProductionServer key, client key, dan merchant ID akun Midtrans production (pembayaran sungguhan).
SandboxTiga kredensial yang sama untuk akun sandbox (testing).
Mode ProductionAktif = memakai kredensial production · nonaktif = memakai sandbox.
Mode MOCKAktif = pembayaran disimulasikan tanpa menyentuh Midtrans (untuk dev/testing). Matikan setelah kredensial asli diisi.

BAGIAN 6 Generate Voucher HOTSPOT

Menu Hotspot → Generate Voucher. Pilih cabang → router (otomatis) → profile → server hotspot → atur jumlah & format kode.

Halaman Generate Voucher
Generate Voucher Hotspot — pilih cabang, profile, server, format kode.
Penjualan tidak dicatat saat generate — tercatat otomatis saat voucher login di router (script on-login).

BAGIAN 7 Biaya & Komisi Saat Generate

Setiap generate memotong saldo biasa penjual. Besar potongan tergantung level penjual dan mode komisi profile. Sebelum memotong, sistem menampilkan rincian biaya & komisi.

Contoh: profile harga 100.000 — komisi A 25%, B 50% (dari A), C 50% (dari B)
PenjualMode finalMode on-topRincian komisi yang ditahan
Agen B87.500112.50012.500 → komisi A (pending)
Agen C93.750118.75012.500 → A + 6.250 → B (pending)

Mode final: bagian pemilik = harga − komisi A penuh (100.000 − 25.000 = 75.000), lalu komisi berjenjang ditambahkan. Mode on-top: pemilik menerima harga dasar penuh (100.000), komisi berjenjang ditambahkan di atasnya.

Saldo tidak mungkin minus: komisi upline ditahan penuh saat generate — jika saldo tidak cukup, generate ditolak dan Anda diminta top up.

BAGIAN 8 User Hotspot & Penjualan HOTSPOT

Menu Hotspot → User Hotspot: daftar user voucher di router — status terpakai/belum, uptime, profile. Penjualan bisa dipantau di Laporan → Hotspot (export CSV/PDF).

Halaman User Hotspot
User Hotspot — filter per router, profile, dan comment.

BAGIAN 9 Konsep Level Agen A/B/C AGEN

Sistem reseller bertingkat dengan maksimal 3 level di bawah admin. Hubungan atasan-bawahan global per akun (satu upline), bukan per router.

🏢 Level A (Kepala Teknisi)

Terdaftar oleh admin. Umumnya tidak menjual langsung — penghasilan dari komisi downline. Bisa withdraw, transfer saldo ke bawah, disable B/C, dan generate pakai saldo B/C.

🛒 Level B (Penjual Utama)

Terdaftar oleh A. Yang berjualan & top up saldo. Mendapat bagian dari komisi A. Untuk PPPoE: mendaftarkan pelanggan & membayar invoice.

📱 Level C (Sub-penjual)

Terdaftar oleh B. Hanya untuk hotspot (PPPoE maksimal 2 level). Berjualan & top up; mendapat bagian dari komisi B.

🔗 Rantai komisi

Setiap penjualan, komisi mengalir ke semua upline sesuai persentase profile. Contoh penjual C: A dapat 12.500, B dapat 6.250, C margin 6.250.

Dashboard agen
Dashboard Agen — ringkasan saldo & penjualan untuk akun agen.

BAGIAN 10 Pendaftaran Agen

Akun agen hanya bisa didaftarkan oleh upline-nya: A oleh admin, B oleh A, C oleh B. Tidak ada pendaftaran mandiri.

Skenario: admin membangun jaringan 3 level
  • Admin buka Agen A/B/CDaftarkan Agen Level A: isi username/nama/password → Agen A lahir (level 0).
  • Agen A login → buka Agen A/B/CDaftarkan Agen BAgen B lahir (level 1), otomatis di bawah A.
  • Agen B login → daftarkan Agen C (level 2) dengan cara yang sama. Agen C tidak bisa mendaftarkan siapa pun.

Akses cabang agen baru otomatis diwarisi dari upline-nya — admin/A tetap bisa mengubahnya lewat edit agen.

Menu Agen A/B/C menampilkan pohon (tree): admin melihat semua, A melihat subtree-nya, B melihat subtree-nya, C melihat dirinya sendiri.

BAGIAN 11 Disable / Enable Agen (Cascade) ADMIN AGEN A

Tombol Disable/Enable di pohon agen menonaktifkan/mengaktifkan akun beserta seluruh asetnya:

Enable mengembalikan semuanya: profile & user diaktifkan lagi, pelanggan PPPoE dipulihkan, downline bisa login lagi. Saldo & komisi tidak hangus.

Hanya admin dan Agen A yang punya tombol disable/enable. B dan C tidak memilikinya.

BAGIAN 12 Cara Kerja Mesin Komisi

Komisi diatur per profile. Dengan harga dasar P dan persentase A/B/C, sistem menghitung tiga lapis bagian penuh:

Formula (contoh P = 100.000, A 25%, B 50%, C 50%)

S1 — bagian penuh AP × A% = 25.000
S2 — bagian penuh BS1 × B% = 12.500
S3 — bagian penuh CS2 × C% = 6.250
Komisi neto uplineA menerima S1 − S2 = 12.500 · B menerima S2 − S3 = 6.250
Margin penjualPenjual level L mendapat S(L+1): B → 12.500, C → 6.250

Mode FINAL vs ON-TOP

Mode FinalMode On-Top
Harga jual ke pelangganMati = harga profile (100.000)Bebas ≥ harga + komisi (markup)
Biaya generate B75.000 (owner) + 12.500 (komisi A) = 87.500100.000 (owner) + 12.500 = 112.500
Kapan komisi cairSaat voucher terjual (lihat Bagian 13)

BAGIAN 13 Siklus Komisi: pending → terjual → konversi

Komisi upline tidak langsung jadi uang — ia melewati 3 tahap. Ini jantung sistem keuangan agen:

Skenario: Agen B generate 1 voucher final 100.000 lalu terjual
  • Generate: saldo biasa B dipotong 87.500 (75.000 ke pemilik + 12.500 masuk saldo komisi A — status PENDING).
  • Terjual: voucher login di router → komisi A berubah pending → TERJUAL di saldo komisi A. Saldo biasa A belum berubah.
  • Konversi: A membuka Portal Saldo Komisi → klik Konversi Semua (atau nominal) → komisi terjual pindah ke saldo biasa A, siap dipakai/withdraw.

Momen "terjual": hotspot = terdeteksi login voucher; PPPoE = B membayar invoice & pelanggan aktif.

Status komisi

pendingVoucher belum terjual — komisi masih "menggantung" di saldo komisi upline.
terjual (sold)Voucher laku — komisi siap dikonversi ke saldo biasa.
convertedSudah dipindah ke saldo biasa via portal konversi.
refunded_backVoucher tak laku di-refund — komisi dikembalikan ke penjual.
cancelledVoucher di-claim — komisi dibatalkan (nominal claim sudah mencakupnya).
Contoh angka: saldo komisi A total 10.000.000 (7.500.000 terjual + 2.500.000 pending) → A hanya bisa mengkonversi maksimal 7.500.000.

BAGIAN 14 Skenario Angka Lengkap

Semua contoh memakai profile harga 100.000, komisi A 25% · B 50% · C 50%.

Skenario 1 — B jual FINAL (harga mati 100.000)
MomenSaldo biasa BSaldo komisi APemilik
Generate−87.500+12.500 pending+75.000
Voucher terjual12.500 → terjual
A konversi + B jual 100.000 ke pelangganmargin B = 12.500saldo biasa A +12.500
Skenario 2 — B jual ON-TOP (markup 115.000)
MomenSaldo biasa BSaldo komisi APemilik
Generate−112.500+12.500 pending+100.000
Voucher terjual12.500 → terjual
B jual 115.000 ke pelangganmargin B = 2.500
Skenario 3 — C jual FINAL (ada 3 level)
MomenSaldo biasa CKomisi AKomisi BPemilik
Generate−93.750+12.500 pending+6.250 pending+75.000
Terjualterjualterjual
C jual 100.000margin C = 6.250+12.500+6.250

Mode on-top C: biaya generate = 118.750 (100.000 + 12.500 + 6.250).

Skenario 4 — Generate pakai saldo downline

Agen A generate voucher untuk B memakai saldo B: saldo B terpotong harga level B (87.500), transaksi tercatat atas nama B, dan komisi 12.500 tetap pending ke A. Berguna saat B tidak sempat mengakses panel. B tidak bisa memakai saldo C — hanya A (dan admin) yang boleh.

BAGIAN 15 Dua Saldo: Biasa & Komisi

Setiap akun agen punya dua saldo yang terpisah fungsinya:

💳 Saldo Biasa

Dompet utama. Isi: top up, konversi komisi, refund, transfer masuk. Dipakai untuk: generate voucher, bayar invoice PPPoE, withdraw, transfer ke downline.

📊 Saldo Komisi

Penampungan komisi upline. Isi: komisi dari penjualan downline (pending/terjual). Wajib dikonversi ke saldo biasa dulu sebelum dipakai apa pun. Hanya pemiliknya yang bisa melihat.

Portal Saldo Komisi

Menu Agen & Keuangan → Saldo Komisi. Menampilkan tiga angka: total, terjual (bisa dikonversi), pending. Tombol Konversi Semua atau input nominal (maks = total terjual) memindahkan ke saldo biasa.

BAGIAN 16 Top Up Saldo B · C

Menu Agen & Keuangan → Top Up Saldo. Yang wajib top up: B dan C. Agen A tidak punya tombol top up (saldo dari komisi/transfer/refund).

Cara 1 — Midtrans (otomatis)

  1. Isi nominal → klik Bayar via Midtrans.
  2. Diarahkan ke halaman pembayaran Midtrans (VA/QRIS/e-wallet) — atau mode simulasi di lingkungan dev.
  3. Pembayaran sukses → saldo bertambah otomatis tanpa approval admin.

Cara 2 — Request Manual

  1. Klik Request Manual → admin menyetujui di menu Keuangan (admin).
Punya utang? Saat top up, pembayaran otomatis dialokasikan untuk melunasi utang tertua dulu, sisanya baru masuk saldo. Contoh: utang 50.000, top up 100.000 → utang lunas, saldo +50.000.

BAGIAN 17 Utang Agen ADMIN

Utang adalah kewajiban ber-invoice yang hanya admin bisa input. Saat punya utang, agen tetap bisa generate (selama saldo cukup) — yang diblokir hanya top up sampai utang lunas.

Skenario: admin kasih pinjaman modal ke B
  • Admin buka Invoice Utang → pilih agen → input nominal + catatan → invoice terbentuk (nomor UTG-YYYYMM-XXXX).
  • Agen B melihat invoice di menu Invoice Utang — bisa bayar langsung (Midtrans) atau lewat top up.
  • Saat B top up, sistem memunculkan info utang dan pembayaran otomatis memotong utang dulu (lihat Bagian 16).

BAGIAN 18 Withdraw Komisi AGEN A

Hanya Agen A yang bisa menarik saldo — menu Withdraw tidak tampil untuk B/C. B/C memakai saldo untuk berjualan.

Skenario: A menarik komisi 150.000
  • A membuka Withdraw → isi nominal (minimal 100.000), bank, nomor rekening, atas nama.
  • Request berstatus pending — admin melihatnya di daftar withdraw.
  • Admin transfer manual ke rekening A, lalu klik Sudah Transfer di aplikasi → saldo biasa A terpotong dan riwayat tercatat.

Komisi harus dikonversi dulu ke saldo biasa (Bagian 13) sebelum bisa di-withdraw.

BAGIAN 19 Transfer Saldo ADMIN AGEN A

Menu Keuangan → Transfer Saldo. Aturannya:

BAGIAN 20 Monitor Top Up

Menu Agen & Keuangan → Monitor Top Up — melihat hasil top up anggota, berjenjang sesuai hak akses:

RoleMelihat top up milik
AdminSemua agen
Agen ADirinya + seluruh downline (B/C)
Agen BDirinya + downline (C)
Agen CDirinya sendiri

BAGIAN 21 Riwayat Batch Generate

Setiap generate = satu batch. Menu Keuangan menampilkan riwayat batch: profile, jumlah, mode, biaya, komisi, dan status tiap kode (unsold / sold / refunded). Dari sini Anda memantau berapa voucher yang belum laku untuk diputuskan refund (Bagian 23).

BAGIAN 22 Refund Voucher AGEN

Satu menu Agen & Keuangan → Refund Voucher menangani semua pengembalian voucher, dengan dua mode:

Mode A — Per Voucher (voucher tidak bisa dipakai)

Untuk voucher yang sudah terjual tapi gagal dipakai pelanggan (salah profile/error router/double-print) atau expired.

Skenario: B refund voucher final 100.000 yang gagal dipakai
  • B buka Refund Voucher → tab Per Voucher → masukkan kode voucher + alasan → nominal otomatis = harga generate B (87.500).
  • Refund B/C menunggu approval Agen A; refund A menunggu admin.
  • Setelah approve: saldo biasa B +87.500; data penjualan voucher dihapus dari laporan; komisi terkait dibatalkan/dibiarkan sesuai statusnya.

Mode B — Per Batch (batch tidak laku)

Untuk batch yang vouchernya belum laku sama sekali/tersisa (status unsold).

Skenario: batch 1 voucher final 100.000 tidak laku
  • B buka Refund Voucher → tab Per Batch → pilih batch (menampilkan jumlah belum laku & biaya) → ajukan alasan.
  • Admin membuka daftar refund → bisa mengisi bagian owner yang dikembalikan (default = penuh, mis. 75.000).
  • Approve → komisi pending otomatis balik ke saldo biasa B (12.500) + bagian owner (75.000) → B menerima kembali 87.500 penuh; voucher dinonaktifkan.

BAGIAN 24 Paket PPPoE & Komisi PPPoE ADMIN

PPPoE memakai maksimal 2 level agen (A & B). Komisi menempel pada paket: komisi A (%), komisi B (% dari A), dan mode final/ontop — cara kerjanya sama dengan profile hotspot (Bagian 12).

BAGIAN 25 Pelanggan PPPoE oleh Agen B PPPoE AGEN B

Hanya Agen B yang mendaftarkan pelanggan PPPoE. Admin melihat semua pelanggan; A melihat pelanggan subtree-nya; C tidak terlibat PPPoE sama sekali.

  1. B membuka PPPoE → Customer → daftarkan pelanggan: pilih coverage, paket, isi data pelanggan.
  2. Pelanggan masuk status waiting (menunggu aktivasi) dan otomatis terikat ke B.
  3. Invoice bulanan pelanggan menjadi tanggungan B (Bagian 26).

BAGIAN 26 Pembayaran Invoice oleh B PPPoE

Agen B membayar dulu invoice pelanggannya lewat Midtrans dengan harga komisi, lalu menagih harga penuh ke pelanggan.

Skenario: paket 100.000 (A 25%, B 50%, mode final) — invoice bulanan pelanggan B
  • Sistem membuat invoice bulanan 100.000 atas nama pelanggan B.
  • B membuka invoice → klik Bayar → membayar via Midtrans sebesar 87.500 (75.000 pemilik + 12.500 komisi A).
  • Pembayaran sukses → invoice paid + pelanggan otomatis aktif → komisi A 12.500 langsung berstatus terjual (bayar & aktif = momen yang sama).
  • B menagih 100.000 ke pelanggan (cash/transfer) — margin B = 12.500.
Prepaid & pelanggan tanpa agen mengikuti alur lama (pelanggan bayar sendiri) — alur agen hanya untuk pelanggan yang didaftarkan B.

BAGIAN 27 Notifikasi & Alert

VPMS memberi tahu Anda setiap kejadian penting: komisi masuk, top up sukses, utang, withdraw, claim, sampai akun di-disable. Ada 2 saluran: lonceng in-app (ikon 🔔 di pojok kanan atas) dan WhatsApp.

Lonceng in-app

WhatsApp

Mengatur preferensi

BAGIAN 28 Keamanan Sesi

BAGIAN 29 Troubleshooting

Login: "Invalid API key"Aplikasi di browser masih versi lama (cache). Lakukan hard refresh: Ctrl+Shift+R, atau buka jendela incognito.
"Sesi berakhir" saat masih dipakaiAda login lain dengan akun yang sama (sesi Anda ditendang), atau idle lebih dari 30 menit.
Generate ditolak "Saldo tidak cukup"Saldo biasa harus menutup biaya generate + komisi upline (ditahan penuh di muka). Lakukan top up.
Tombol top up tidak munculAnda login sebagai Agen A — A memang tidak top up; saldo A dari komisi/transfer/refund.
Konversi komisi ditolakKonversi maksimal = komisi berstatus terjual. Komisi pending hanya bisa dikonversi setelah vouchernya laku.
Menu PPPoE tidak munculAnda login sebagai Agen C — PPPoE hanya untuk admin, A, dan B.
Tombol disable tidak adaHanya admin & Agen A yang bisa disable/enable akun.
Withdraw ditolakMinimal 100.000, hanya untuk Agen A, dan harus dari saldo biasa (konversi komisi dulu).
Top up dipotong otomatisItu pelunasan utang — pembayaran dialokasikan ke invoice utang tertua dulu, sisanya masuk saldo.
↑ Kembali ke awal