# Kasir di Chat

Mengirim tagihan langsung di percakapan WhatsApp. Begitu pembeli membayar, tagihan tercatat lunas dan deal bisa ditandai Berhasil dengan sendirinya.

---

## Dua mode

| Mode | Cara kerjanya | Cocok untuk |
|---|---|---|
| **Manual** | Tagihan berisi daftar rekening bank Anda. Pembeli transfer, lalu tim Anda menandai **lunas** setelah memeriksa mutasi | Usaha yang belum punya akun payment gateway |
| **Payment gateway** | Tagihan berisi QRIS, Virtual Account, atau metode lain dari akun payment gateway **milik Anda**. Status lunas diperbarui otomatis | Volume transaksi besar, atau tim yang tidak ingin mengecek mutasi |

**Dana tidak pernah melewati Pesanvo.** Pada mode payment gateway, pembeli membayar ke akun gateway atas nama usaha Anda, dan dana dicairkan oleh penyedia tersebut ke rekening Anda. Ketentuan lengkapnya ada di [Syarat Kasir](SYARAT_KASIR.md).

## Payment gateway yang didukung

| Penyedia | Metode yang bisa diaktifkan | URL notifikasi |
|---|---|---|
| Midtrans | QRIS, VA BCA/BNI/BRI/Permata, Mandiri Bill | Otomatis per transaksi |
| Xendit | QRIS, VA, e-wallet (OVO, DANA, ShopeePay), kartu, Alfamart/Indomaret | Dipasang di dashboard Xendit |
| Duitku | QRIS, VA, e-wallet, kartu, Alfamart/Indomaret | Otomatis per transaksi |
| DOKU | QRIS, VA, e-wallet, Alfamart/Indomaret | Otomatis per transaksi |
| Faspay | QRIS, VA, e-wallet, Alfamart/Indomaret | Dipasang di dashboard Faspay |
| iPaymu | QRIS, VA, DANA, ShopeePay, kartu, Alfamart/Indomaret | Otomatis per transaksi |

Metode yang benar-benar muncul ke pembeli adalah yang Anda centang di pengaturan **dan** sudah diaktifkan oleh penyedia di akun Anda.

## Menyiapkan Kasir

Hanya **owner** workspace yang bisa mengubah pengaturan Kasir.

1. Buka **Pengaturan CRM → Kasir**.
2. Pilih mode **Manual** atau **Payment gateway**.
3. Untuk mode manual, isi hingga 5 rekening bank.
4. Untuk mode payment gateway:
   - pilih penyedianya,
   - pilih lingkungan **Sandbox** untuk uji coba atau **Production** untuk transaksi nyata,
   - salin kredensial dari dashboard penyedia. Petunjuk letak setiap kredensial tampil di bawah kolomnya,
   - untuk Xendit dan Faspay, salin **URL notifikasi** yang muncul setelah disimpan ke dashboard penyedia. Tanpa URL ini, pembayaran tidak tercatat lunas otomatis.
5. Tekan **Uji koneksi**. Status **terverifikasi** berarti kredensial diterima penyedia.
6. Centang metode pembayaran yang ingin ditawarkan, lalu simpan.

Kredensial disimpan terenkripsi dan tidak pernah ditampilkan ulang secara utuh.

## Mengirim tagihan

1. Buka chat pembeli di Inbox.
2. Buat tagihan: isi barang atau pilih dari katalog produk, jumlah, dan harga. Tagihan bisa dikaitkan dengan deal kontak itu.
3. Periksa pratinjau, lalu kirim.

Pembeli menerima pesan berisi ringkasan tagihan dan tautan halaman pembayaran.

## Setelah dikirim

| Status | Artinya |
|---|---|
| **Menunggu** | Belum dibayar |
| **Lunas** | Pembayaran diterima. Struk PDF bisa diunduh pembeli lewat tautan yang berlaku 30 hari |
| **Kedaluwarsa** | Lewat batas waktu tanpa pembayaran |
| **Dibatalkan** | Dibatalkan oleh tim Anda |
| **Gagal** | Penyedia menolak atau menggagalkan pembayaran |

Aksi yang tersedia:

- **Kirim ulang** tagihan yang masih menunggu.
- **Batalkan** tagihan yang salah atau tidak jadi.
- **Tandai lunas** untuk pembayaran manual. Pembayaran lewat gateway tidak perlu ditandai, statusnya diperbarui otomatis setelah kami memverifikasi ulang ke penyedia.

Pengingat pembayaran hanya dikirim pukul 07.00–21.00 supaya tidak mengganggu pembeli di malam hari.

## Hubungan dengan deal dan laporan

- Pembayaran tercatat di linimasa deal yang terkait.
- Bila pengaturan pipeline **Tagihan lunas otomatis menandai deal Berhasil** aktif, deal langsung pindah ke Berhasil. Lihat [Pipeline & Deal](PIPELINE_DAN_DEAL.md).
- Pembayaran pertama dan kedua menaikkan siklus hidup kontak menjadi Pelanggan dan Pelanggan berulang.
- Laporan omzet dihitung dari tagihan yang benar-benar lunas.

Semua tagihan bisa dilihat dan diekspor dari menu **Penjualan → Tagihan**.

## Untuk developer

Kejadian `invoice.paid` dan `invoice.expired` bisa dikirim ke aplikasi Anda lewat [Webhook](WEBHOOK.md), misalnya untuk memproses pesanan di sistem gudang begitu pembeli membayar.

## Kuota

Pesan tagihan yang dikirim dari Inbox tidak memakai kuota pesan otomatis bulanan. Pengingat pembayaran otomatis memakainya. Lihat [Batas & Kuota](BATAS_DAN_KUOTA.md).
