No. 2.4 Panduan Kekasir Pengenalan

Refund & Pembatalan

Membatalkan pesanan sebelum dibayar dan memproses refund sebagian item maupun seluruh transaksi.

Batalkan pesanan yang belum dibayar, atau kembalikan uang untuk transaksi yang sudah lunas.

Rute terkait: /orders (antrian & detail transaksi) · /pos/[id]/payment (pembayaran) · /shift (laporan refund)

Untuk siapa halaman ini

Halaman ini untuk Anda yang menangani pesanan batal dan pengembalian dana. Ada dua situasi yang berbeda di sini, dan penting untuk tidak mencampurnya.

Pertama, pembatalan. Pesanan belum dibayar dan pelanggan berubah pikiran. Transaksinya dibatalkan, tidak ada uang yang berpindah. Statusnya menjadi DIBATALKAN PELANGGAN dan pesanan itu tidak dihitung sebagai penjualan.

Kedua, refund. Pesanan sudah dibayar, tetapi uangnya harus dikembalikan, sebagian atau seluruhnya. Di sini uang benar-benar keluar dari laci atau dari saldo penjualan. Refund tercatat di laporan retur dan memengaruhi pendapatan bersih.

Memilih jalur yang benar sejak awal mencegah selisih kas yang membingungkan saat tutup shift.

Prasyarat

  • Anda sudah login sebagai kasir atau admin.
  • Untuk pembatalan: pesanan masih berstatus Belum Bayar.
  • Untuk refund: transaksi sudah berstatus Sudah Bayar atau Lunas.
  • Alasan pengembalian sudah Anda ketahui dari pelanggan.

Alur pertama kali pakai

LangkahNamaDeskripsi
1Kenali status pesananBelum dibayar → batalkan. Sudah dibayar → refund
2Buka pesanannyaDari halaman Transaksi
3Pilih tindakanBatalkan Pesanan atau Refund
4Tentukan cakupanSebagian item atau seluruh transaksi
5Isi alasanWajib, untuk jejak audit
6ProsesStatus berubah, saldo menyesuaikan

Skenario yang Dibahas

  • Batalkan pesanan — pesanan belum dibayar, tidak ada uang berpindah
  • Refund sebagian — hanya beberapa item yang dikembalikan
  • Refund penuh — seluruh transaksi dibatalkan setelah dibayar
  • Refund berulang — pengembalian dilakukan bertahap dalam satu transaksi
  • Refund tunai — uang benar-benar keluar dari laci

Skenario 1 — Batalkan pesanan

Dipakai bila pesanan belum dibayar dan pelanggan membatalkannya. Tidak ada uang yang dikembalikan.

Daftar pesanan di halaman Transaksi

Halaman Transaksi, daftar pesanan dengan status pembayaran
Halaman Transaksi (tampilan ponsel)

Dari daftar ini Anda memilih pesanan yang akan dibatalkan. Status BELUM BAYAR menandakan pesanan itu bisa dibatalkan.

Menyaring pesanan yang bisa dibatalkan

Gunakan Filter status pembayaran untuk memisahkan pesanan yang belum dibayar dari yang sudah lunas.

Halaman Transaksi dengan filter status pembayaran diterapkan
Halaman Transaksi dengan filter status (tampilan ponsel)

Langkah

1. Buka pesanan tersebut dari daftar pada halaman Transaksi.

2. Ketuk tombol Batalkan Pesanan.

3. Dialog konfirmasi muncul, lengkap dengan Rincian Pesanan.

4. Baca ringkasannya, lalu konfirmasi pembatalannya.

5. Pesanan berstatus DIBATALKAN PELANGGAN.

Setelah dibatalkan, pesanan tidak lagi menghalangi penutupan shift. Ia juga hilang dari daftar tunggu dapur.

Perbedaan dengan pesanan sudah dibayar

Kondisi pesananTindakan yang tersedia
Belum BayarBatalkan Pesanan
Sudah Bayar atau LunasRefund

Bila Anda mengetuk batalkan pada pesanan yang sudah dibayar, aplikasi menolak dan menyarankan refund dengan pesan Pesanan Sudah Dibayar.

Studi kasus: Pelanggan memesan dua porsi, lalu berubah pikiran sebelum membayar. Kasir membatalkan pesanannya lewat Batalkan Pesanan. Pesanan itu hilang dari daftar tunggu dan tidak muncul di laporan penjualan, sehingga angka penjualan hari itu tetap bersih.

Contoh lain yang bisa dibuat:

  • Pelanggan yang pergi sebelum pesanannya dibayar.
  • Pesanan salah tipe yang baru diketahui sebelum bayar.

Skenario 2 — Refund sebagian

Dipakai bila hanya beberapa item yang dikembalikan, misalnya karena pesanan salah.

Langkah

1. Buka transaksi yang sudah dibayar dari halaman Transaksi.

2. Ketuk Refund.

3. Pada Rincian Refund, pilih item yang dikembalikan saja. Jangan centang semuanya.

4. Pilih Refund Tunai bila uangnya dibayarkan kembali secara tunai.

5. Isi alasan pengembalian.

6. Ketuk Terapkan atau proses refund.

Field pada form refund

Setelah diproses, hanya item yang dicentang yang dianggap retur. Item lainnya tetap tercatat sebagai penjualan.

Studi kasus: Pelanggan memesan tiga menu, tetapi satu di antaranya salah. Kasir memproses refund hanya untuk menu yang salah, memilih Refund Tunai, dan menuliskan alasan Salah input kasir. Dua menu lain tetap tercatat sebagai penjualan, sehingga laporan tidak terdistorsi.

Contoh lain yang bisa dibuat:

  • Satu minuman yang tidak jadi diambil pelanggan.
  • Satu porsi yang salah varian dari yang dipesan.

Skenario 3 — Refund penuh

Dipakai bila pelanggan membatalkan semuanya setelah membayar. Seluruh nilai transaksi dikembalikan.

Langkah

1. Buka transaksi yang sudah dibayar.

2. Ketuk Refund.

3. Pilih seluruh itemnya pada Rincian Refund, atau gunakan Pilih Semua bila tersedia.

4. Pilih Refund Tunai bila uangnya dibayarkan kembali secara tunai.

5. Isi alasan pengembalian.

6. Proses refund.

Transaksi tersebut tercatat sebagai retur penuh. Nilainya masuk ke Total Refund pada laporan shift dan mengurangi pendapatan bersih.

Studi kasus: Pelanggan memesan makanan, membayar, lalu membatalkan semuanya karena harus buru-buru pergi. Kasir memproses refund seluruh transaksi dengan alasan Permintaan pelanggan dan mengembalikan uangnya tunai. Di laporan shift, angka Total Refund naik dan Tunai Seharusnya menyesuaikan otomatis.

Contoh lain yang bisa dibuat:

  • Pesanan yang tidak jadi dimasak karena bahan habis setelah dibayar.
  • Pelanggan yang salah outlet dan uangnya dikembalikan penuh.

Skenario 4 — Refund berulang dan sebagian

Kadang pengembalian tidak selesai dalam satu kali. Seorang pelanggan bisa mengembalikan satu item terlebih dahulu, lalu kembali lagi dengan item lain di hari yang sama.

Langkah

1. Proses refund pertama seperti biasa, centang item yang dikembalikan.

2. Bila pelanggan kembali dengan item lain, buka transaksi yang sama.

3. Ketuk Refund lagi, centang item sisanya.

4. Setiap refund tercatat sebagai baris tersendiri, dan jumlahnya bertambah ke Total Refund.

Setiap baris refund punya waktunya sendiri, sehingga Anda bisa menelusuri kapan pengembalian dilakukan. Transaksi induknya tetap satu.

Studi kasus: Seorang pelanggan mengembalikan satu minuman yang salah pada siang hari, lalu kembali sore untuk mengembalikan satu makanan yang tidak habis dimakan. Kasir memproses dua refund pada transaksi yang sama. Di Riwayat Pembayaran, terlihat dua baris pengembalian dengan waktu berbeda, dan laporan shift tetap rapi.

Contoh lain yang bisa dibuat:

  • Pelanggan yang mengembalikan item secara bertahap sepanjang hari.
  • Koreksi terpisah untuk dua masalah berbeda dalam satu pesanan.

Alasan refund

Alasan refund bukan sekadar formalitas. Catatan ini muncul di laporan dan membantu penelusuran bila ada pertanyaan di kemudian hari.

AlasanKapan dipakai
Salah input kasirItem yang salah dimasukkan ke pesanan
Permintaan pelangganPelanggan berubah pikiran
Menu tidak sesuai pesananMasakan tidak seperti yang dipesan
Kualitas tidak sesuaiRasa atau porsi di bawah standar
Pesanan tidak diambilPelanggan tidak datang mengambil
Outlet tutup mendadakPesanan dibatalkan karena force majeure

Tulis alasan sejelas mungkin. Hindari alasan yang terlalu umum kalau ada keterangan lebih spesifik.

Studi kasus: Seorang pelanggan menemukan porsi makanannya jauh lebih kecil dari biasanya. Kasir memproses refund penuh dengan alasan Kualitas tidak sesuai dan menambahkan catatan singkat pada Keterangan. Pemilik melihat catatan itu di laporan dan menindaklanjuti ke dapur.

Melihat rincian refund

Setelah refund diproses, rinciannya bisa dilihat di dua tempat.

  • Di halaman Transaksi, buka detail transaksi tersebut dan periksa Riwayat Pembayaran. Refund tercatat sebagai baris tersendiri.
  • Di Laporan Shift, bagian Rincian Refund menampilkan daftar pengembalian selama shift beserta Total Refund.

Bila belum ada refund pada shift tersebut, bagian itu menampilkan pesan Tidak ada refund.

Catatan: refund tunai mengurangi uang di laci. Itulah sebabnya jumlahnya ikut dihitung saat tutup shift.

Kendala umum

KendalaPenyebabSolusi
Tombol Batalkan Pesanan tidak munculPesanan sudah dibayarPakai Refund, bukan pembatalan
Tombol Refund tidak aktifAnda bukan kasir/admin, atau transaksi belum lunasLogin dengan akun berhak, atau selesaikan pembayarannya dulu
Refund gagal disimpanItem belum dicentang, atau Keterangan kosongCentang minimal satu item dan isi alasan
Kas laci tidak sesuai setelah refundPembayaran refund tidak tunaiPeriksa status Refund Tunai pada catatan refund
Refund tidak muncul di laporanLaporan shift belum diperbaruiMuat ulang Laporan Shift bagian Rincian Refund

Kendala paling sering adalah mencampur pembatalan dengan refund. Ingat aturannya: belum dibayar berarti batalkan, sudah dibayar berarti refund.

Tips & Peringatan

Tips: catat alasan refund dengan jelas, karena terlihat di laporan dan membantu penelusuran.

Tips: periksa status Refund Tunai untuk memastikan laci dan laporan tetap cocok.

Peringatan: pembatalan dan refund adalah dua hal berbeda. Membatalkan pesanan yang sudah dibayar akan ditolak sistem.

Ringkasan

Ingin melakukanLangkah
Membatalkan pesanan belum bayarTransaksi → buka pesanan → Batalkan Pesanan → konfirmasi
Refund sebagian itemTransaksi → buka transaksi → Refund → centang item → proses
Refund seluruh transaksiTransaksi → buka transaksi → Refund → pilih semua → proses
Mengembalikan uang tunaiNyalakan Refund Tunai pada form refund
Memeriksa riwayat refundDetail transaksi → Riwayat Pembayaran, atau Laporan Shift → Rincian Refund

Dokumentasi Terkait