9. Riwayat Transaksi & Refund
Menu Riwayat (icon teal jam) menampilkan semua transaksi yang sudah selesai. Dari sini Anda bisa lihat detail, cetak ulang struk/KOT, reorder, dan proses refund.
A. Riwayat Transaksi (List)
Header berjudul Riwayat Transaksi. List urut dari paling baru di atas.

Header & Filter:
- ๐ Calendar di header โ filter rentang tanggal (sama seperti di Pengeluaran)
- Search: cari berdasarkan ID transaksi atau nama customer
- Filter Metode Pembayaran (chip horizontal): Semua / Cash / Piutang / Qriss / Transfer Bank
- Filter Tipe Pesanan (chip horizontal): Semua Tipe / Dine-in ๐ด / Take Away ๐๏ธ / Delivery ๐ต
Per card transaksi menampilkan:
- Icon receipt + ID transaksi (badge top-right)
- Customer (jika di-attach, contoh "fira")
- Metode pembayaran utama (Cash, Transfer Bank, dll)
- Total (bold biru)
- Tanggal & jam
- Jumlah item produk
Format ID transaksi: bisa TRX-NNNN (incremental 4 digit) atau TRX-YYYYMMDD-NNNN (per tanggal). Format yang dipakai bisa diatur di Pengaturan โ Pengaturan Nomor Dokumen.
B. Detail Transaksi & 6 Pilihan Aksi
Tap card di list โ halaman Detail Transaksi.

Card atas (info transaksi):
- ID transaksi (badge)
- Metode pembayaran utama
- Total (bold)
- Tanggal & jam
- Kasir: nama kasir yang melayani
- Badge tipe pesanan (Dine-in / Take Away / Delivery)
Section di tengah:
- Item Pembelian (n) โ daftar menu dengan thumbnail, qty ร harga, modifier yang dipilih, catatan, subtotal
- Detail Pembayaran โ Subtotal, Diskon (kalau ada), Pajak/Biaya (kalau ada), Total, Jumlah Bayar (split payment muncul terpisah)
Pilihan Aksi (6 tombol berwarna):
| Tombol | Warna | Fungsi |
|---|---|---|
| ๐จ๏ธ Cetak Struk | Oranye | Reprint struk pelanggan ke printer Bluetooth |
| ๐ด Cetak KOT | Ungu | Reprint Kitchen Order Ticket ke printer dapur (FnB-specific) |
| ๐ผ๏ธ Bagikan Struk | Biru | Share image struk via WhatsApp / email / dll |
| ๐ Bagikan PDF | Pink | Share PDF struk yang lebih formal |
| โป Pesan Lagi | Hijau | Clone item ke keranjang Kasir baru (untuk customer langganan) |
| โฉ๏ธ Refund | Merah | Buka halaman Refund Parsial |
Tips: Tombol Cetak KOT dari Detail Transaksi berguna kalau dapur kehilangan KOT atau printer dapur sempat mati saat awalnya. Tinggal tap dari Riwayat โ KOT cetak ulang.
C. Refund Parsial (Mendukung Full & Partial)
Halaman dinamai Refund Parsial โ namun mendukung full refund via tombol Pilih Semua. Tidak ada page Full Refund terpisah.
Banner info dari aplikasi: "Pilih item dan jumlah yang ingin di-refund. Diskon transaksi tidak dikembalikan, biaya lainnya (pajak, biaya tambahan) dihitung proporsional."
Cara Refund:
- Buka Riwayat โ cari & tap transaksi
- Di Detail Transaksi, tap tombol merah โฉ๏ธ Refund
- Halaman Refund Parsial terbuka โ header info transaksi + 2 tombol shortcut:
- Pilih Semua โ centang semua item (= efek full refund)
- Batalkan โ un-check semua item
- Di section Pilih Item untuk Refund:
- Centang item yang mau di-refund
- Setelah dicentang, muncul stepper Qty refund: โ N + โ bisa adjust jumlah parsial (misal qty asli 3, refund 2 saja)
- Sisa: x/y di kanan menampilkan stok refund yang masih tersedia
- Lihat Rincian Refund โ Subtotal Item & TOTAL REFUND auto-update merah
- Pilih Alasan Refund โ 5 chip preset:
- Barang rusak
- Salah item
- Permintaan pelanggan
- Barang tidak sesuai
- Komplain kualitas
- Tombol Proses Refund (navy) aktif setelah ada item dipilih โ tap untuk konfirmasi
- Atau tap Batal di bawah untuk batalkan


D. Efek Refund & Catatan Penting
๐ Efek otomatis saat Proses Refund:
- Stok Produk: item yang di-refund otomatis dikembalikan ke stok
- Bahan Baku: kalau produk pakai resep, bahan baku yang tadinya berkurang akan dikembalikan (reverse)
- Loyalty Points: poin yang didapat dari transaksi ditarik dari saldo customer
- Piutang: kalau transaksi tipe BON/Piutang, piutang ikut disesuaikan
- Laporan: Net Sales = Sales โ Refunds
- Refund parsial bisa berkali-kali โ sisa item yang belum di-refund bisa di-refund di lain hari
โ ๏ธ Yang TIDAK dikembalikan:
- Diskon transaksi tidak dikembalikan (banner info di app)
- Pajak & Biaya tambahan dihitung proporsional dari item yang di-refund
โ ๏ธ Penting:
- Refund tidak bisa dibatalkan โ pastikan customer benar-benar mengembalikan barang fisik (untuk produk) dulu
- Refund untuk F&B menu yang sudah dimasak/dimakan: pertimbangkan baik-baik โ biasanya biaya bahan tetap keluar walaupun stok di-reverse
- Untuk transaksi BON/Piutang yang belum lunas: lunasi dulu sebelum refund
- Catat alasan refund dengan jelas โ berguna untuk audit dan analisa kualitas operasional