Settlement
Settlement = transfer saldo dari Dehuyz Gateway ke rekening bank merchant. Saat ini manual — admin proses request lo lewat mobile banking.
Konsep
- Customer scan QR → bayar → uang masuk rekening BRI merchant of record (Dehuyz).
- Saldo lo (di Dehuyz) bertambah sebesar
nett_amount(Phase awal:nett_amount = amount, gak ada fee). - Lo request payout di /dashboard/settlements — pilih amount + isi info rekening tujuan.
- Admin (Dehuyz) review, approve, transfer manual via mobile banking, mark as
transferred. - Saldo lo otomatis berkurang lewat ledger entry
settlement_debit.
Status flow
[requested] --(admin approve)--> [approved] --(admin transfer)--> [transferred]
|
(admin reject)
v
[rejected]
| Status | Arti |
|---|---|
requested |
Lo submit request, menunggu admin review |
approved |
Admin OK, saldo lo dipotong, transfer pending dilakukan admin |
transferred |
Transfer selesai, bukti tertulis di admin_note |
rejected |
Admin tolak (alasan di admin_note) |
Cara request payout
- Buka /dashboard/settlements.
- Pastikan Saldo tersedia > 0. Saldo update otomatis tiap pembayaran masuk.
- Isi form:
- Amount (Rp): max sebesar saldo
- Bank: BCA, Mandiri, BRI, dll
- No rekening: angka rekening
- Nama pemilik: harus match rekening (admin verify saat transfer)
- Submit. Status awal
requested. - Admin akan email atau notif (Phase 6+) saat approved/transferred.
Default rekening
Set di /dashboard/profile sekali, semua request payout berikutnya prefilled.
SLA
Karena settlement masih manual, target SLA:
- Working hours (08-17 WIB): approve dalam 4 jam, transfer dalam 8 jam
- Outside hours / weekend: H+1 (next working day)
Phase 6+ akan tambah auto-settlement: payout otomatis terjadwal harian / mingguan tanpa request manual.
Fee
- Phase awal (sekarang): 0% fee, lo dapat full
amount. - Future: bisa berubah jadi misal Rp 700/transaksi atau 0.7%. Dehuyz akan kasih notice 30 hari sebelum berlaku.
Ledger entry
Tiap pembayaran + settlement create entry di ledger_entries:
| Type | Amount | Trigger |
|---|---|---|
payment_credit |
+nett_amount | Invoice paid |
fee_debit |
-fee_amount | (Future) saat fee diaktifkan |
settlement_debit |
-amount | Admin approve settlement |
adjustment |
± | Manual koreksi by admin |
balance_after snapshot saldo setelah entry, bisa dilihat di tabel ledger di /dashboard/settlements.
Rekonsiliasi
Setiap awal bulan, audit balance lo:
-- Sum credit SELECT SUM(amount) FROM ledger_entries WHERE merchant_id = '<id>' AND amount > 0; -- Sum debit SELECT SUM(ABS(amount)) FROM ledger_entries WHERE merchant_id = '<id>' AND amount < 0;
Nett saldo = sum_credit - sum_debit. Harus match dengan total payment - total settlement.
Edge case
"Saldo terlihat tapi gak bisa request payout" — cek apakah ada settlement berstatus approved (sudah dipotong) atau requested (belum). Saldo dihitung real-time dari ledger.
"Settlement transferred tapi belum masuk rekening" — admin ada catatan di admin_note (mis. nomor referensi transfer mobile banking). Konfirmasi ke admin dengan settlement ID.
"Salah input nomor rekening" — kalau status masih requested, cancel langsung gak bisa (akan ditambah Phase 6+). Tunggu admin reject, lalu submit ulang.