Lewati ke isi

Pembayaran Manual

Pembayaran manual = pelanggan bayar di luar payment gateway (tunai, transfer manual, dll), lalu admin input ke sistem untuk update status invoice.

Kapan Pakai Pembayaran Manual?

  • 💵 Tunai — pelanggan datang ke kantor / kasir Anda
  • 🏦 Transfer bank manual — pelanggan transfer ke rekening Anda, kirim bukti via WA
  • 🤝 Pembayaran via reseller / agen — agen kolektor di area pelanggan
  • 📃 Pembayaran cek/giro — untuk pelanggan korporat
  • ⚙️ Refund / penyesuaian — koreksi data manual

Persyaratan

  • ✅ Invoice sudah di-generate (status Unpaid)
  • ✅ Admin punya permission "Edit Invoice"
  • ✅ Bukti pembayaran (untuk audit) — screenshot transfer, kwitansi, dll

Langkah Input Pembayaran Manual

Single Invoice

  1. Buka pelanggan target → tab Invoice / Tagihan
  2. Cari invoice yang mau di-mark paid (status Unpaid)
  3. Klik "Tandai Lunas" atau "Catat Pembayaran"
  4. Isi:
  5. Tanggal Bayar (default = hari ini)
  6. Metode (Tunai / Transfer / Cek / Lainnya)
  7. Bank/E-wallet (mis. "BCA")
  8. Nomor Referensi (opsional)
  9. Catatan (opsional)
  10. Upload bukti (foto kwitansi/screenshot)
  11. Save

Setelah save:

  • ✅ Status invoice → Paid
  • ✅ Pelanggan terima konfirmasi via WhatsApp
  • ✅ Kalau Isolated, otomatis kembali Active
  • ✅ Pendapatan tercatat di laporan revenue

Partial Payment (Cicilan)

Pelanggan bayar sebagian, sisanya nanti:

  1. Buka invoice → klik "Catat Pembayaran"
  2. Isi nominal partial (mis. invoice Rp 500.000, bayar Rp 300.000)
  3. Status invoice → Partial
  4. Sisa tagihan tetap di-track
  5. Saat pelanggan bayar sisa, ulangi dengan sisa nominal

Partial payment policy

Default: Partial = belum isolir. Tapi kalau setelah grace period sisa belum lunas, sistem auto-isolir.

Set policy di Settings → Billing → Partial Payment Rules.

Overpayment

Pelanggan bayar lebih dari nominal:

  1. Input pembayaran dengan nominal lebih besar
  2. Sistem prompt: "Kelebihan Rp X, simpan sebagai credit?"
  3. Pilih:
  4. Credit balance — untuk invoice berikutnya
  5. Refund — refund manual ke pelanggan

Bulk Input (untuk kolektor)

Untuk agen kolektor kumpulkan banyak pembayaran:

  1. Menu Invoice → Bulk Payment
  2. Upload CSV format:
    nomor_invoice,tanggal_bayar,nominal,metode,catatan
    INV-202605-00123,2026-05-15,300000,Tunai,Kolektor Makassar
    INV-202605-00124,2026-05-15,200000,Tunai,Kolektor Makassar
    
  3. Preview → konfirmasi → bulk update

Komponen Pembayaran Manual

Field Wajib? Penjelasan
Invoice ID Invoice yang dibayar
Tanggal Bayar Kapan pelanggan bayar (bukan input)
Nominal Berapa dibayar (full/partial)
Metode Tunai / Transfer / E-wallet manual / Cek
Bank/Detail ⚠️ Wajib kalau bukan tunai
Nomor Referensi Untuk track ke statement bank
Bukti Upload 💡 Sangat disarankan untuk audit
Diterima Oleh auto User admin yang input
Catatan Internal note

Best Practices

Verifikasi sebelum mark paid

Sebelum klik "Lunas", verifikasi pembayaran sungguhan masuk:

  • Transfer bank: cek mutasi rekening Anda, bukan hanya foto bukti
  • E-wallet: cek di app e-wallet Anda
  • Tunai: hitung uang fisik

Risiko: scam dengan foto bukti edit/palsu.

Upload bukti = anti-dispute

Selalu upload bukti. Kalau ada dispute "saya sudah bayar tapi belum di-mark":

  • Bukti upload = source of truth
  • Audit trail jelas
  • Cross-check timestamp gampang

Konsisten dengan rekening bank

Tag pembayaran dengan bank yang sesuai (BCA / Mandiri / dll). Berguna untuk reconciliation cashflow per bank.

Permission control

Jangan kasih akses "Mark Paid" ke semua staff. Risiko:

  • Staff input fiktif (uang masuk kantong pribadi)
  • Salah input (typo nominal)

Limit ke 1-2 admin trusted. Atau pakai 2-person approval untuk pembayaran > Rp 1 juta.

Backdating tanggal bayar

Boleh backdate (mis. tunai diterima kemarin, baru sempat input hari ini) — tapi konsisten dengan tanggal sebenarnya untuk laporan akurat.

Hindari backdate ekstrem (>30 hari) tanpa alasan jelas.

Troubleshooting

Mark paid tapi pelanggan masih dapat reminder

Sync gap antara mark paid dan reminder queue. Tunggu cron cycle berikutnya atau cancel reminder manual.

Status "Paid" tapi pelanggan masih Isolated

Cek:

  1. Auto-reaktivasi enabled? Settings → Auto Reactivate on Payment → ON
  2. RADIUS sync sukses? Cek log
  3. Manual: edit pelanggan → status Active
Salah input nominal
  1. Buka invoice → "Edit Payment" atau "Reverse Payment"
  2. Hapus payment record salah
  3. Input ulang dengan nominal benar

Audit: 2 entry (reversed + new), history tetap ada.

Pembayaran double-counted

Mungkin pelanggan bayar via PG dan admin input manual juga. Cek history → hapus 1 entry duplicate. Kalau memang dobel masuk uang, refund.

Bulk import gagal

Penyebab umum:

  • Format CSV salah
  • nomor_invoice tidak match
  • nominal lebih besar dari invoice
  • Encoding bukan UTF-8

Cek log error → fix row → retry.

FAQ

Q: Bisa hapus pembayaran yang sudah di-input? A: Pakai "Reverse Payment" — bukan hard delete. Tandai sebagai reversed, audit trail tetap.

Q: Pelanggan bayar cash, lupa input, 2 minggu kemudian masih bisa? A: Bisa. Backdate tanggal bayar. Catat di notes alasan delay input.

Q: Kirim kwitansi/receipt otomatis? A: Bisa. Setelah mark paid:

  • WhatsApp konfirmasi otomatis
  • Email PDF receipt (kalau aktif)
  • Print manual dari dashboard

Q: Pelanggan ngotot sudah bayar tapi tidak ada record? A: Standard troubleshoot:

  1. Minta bukti transfer (screenshot mutasi, bukan foto edit)
  2. Cek mutasi rekening Anda di tanggal klaim
  3. Kalau ada di mutasi tapi tidak ke-input → admin lupa, input retroaktif
  4. Kalau tidak ada → edukasi pelanggan, butuh verifikasi mutasi

Q: Multi-currency? A: Belum native. Workaround: convert ke IDR manual, input dengan rate konversi di catatan.