Kasir (POS) โ†’ Kasir & Transaksi

Kasir & Transaksi

Buka kasir, proses transaksi penjualan, dan tutup shift.

1. Kasir (Transaksi POS)

A. Untuk Kasir: Buka Shift Dulu

โš ๏ธ PENTING: Buka shift dulu sebelum transaksi supaya kas & penjualan tercatat ke shift yang benar.

  1. Di dashboard, tap card ungu Tap untuk mulai shift / Buka Kasir
  2. Muncul halaman Buka Kasir dengan info Kasir & Tanggal otomatis terisi
  3. Isi Kas Awal โ€” jumlah uang tunai di laci kasir saat ini
  4. Opsional: isi Catatan Pembukaan (mis. "Kas dari bank", "Shift pagi")
  5. Tap tombol biru Buka Kasir
  6. Status di home berubah jadi Shift Aktif (card hijau, ada hint "Tap untuk tutup kasir")
Halaman Buka Kasir dengan Kas Awal dan Catatan Pembukaan
Halaman Buka Kasir

B. Proses Transaksi Dasar

  1. Masuk ke Kasir:
    • Tap menu Kasir dari dashboard
    • Atau tap card Tap untuk mulai shift / Buka Kasir di Home
    Halaman Home dengan menu Kasir dan card Buka Kasir
    Halaman Home โ€” entry ke Kasir via menu atau card shift
  2. Pilih Produk:
    • Tap card produk di grid kiri
    • Tombol "+ Tambah" di card produk untuk tambah cepat
    • Scan barcode via icon di search bar (atas kiri)
    • Search produk via search bar (Cari nama / scan barcode)
    • Filter kategori via dropdown Semua Kategori
    Halaman Kasir dengan search bar, filter kategori, grid produk, dan panel Keranjang berisi item
    Halaman Kasir โ€” kiri grid produk + search/filter, kanan panel Keranjang
  3. Tambah ke Keranjang:
    • Produk single-unit langsung masuk Keranjang (qty 1)
    • Produk multi-unit/varian membuka dialog Tambah โ€” atur Jumlah, Harga Jual per unit, Diskon item, dan Catatan, lalu tap Tambah
    • Ubah jumlah di Keranjang: tap tombol โˆ’ / + di item
    • Hapus item: tap icon tong sampah merah
    • Stok otomatis divalidasi
    Dialog Tambah produk multi-unit menampilkan Jumlah, Harga Jual per SCHT, Tambah Diskon, dan Tambah Catatan
    Dialog Tambah untuk produk multi-unit/varian
  4. Lanjut Pembayaran:
    • Setelah semua produk masuk, tap Bayar (kanan bawah, sebelah Tahan)
    • Akan masuk ke halaman Konfirmasi Pembayaran

C. Konfirmasi Pembayaran

Setelah tap Bayar di Kasir, masuk halaman Konfirmasi Pembayaran. Halaman ini scrollable dengan section sticky Total Pembayaran & tombol Proses Pembayaran di bawah.

1. KERANJANG BELANJA
  • Review semua item, qty, & harga
  • Tap chip + Tambah di kanan atas untuk balik ke kasir tambah produk lagi
2. CUSTOMER (Opsional)
  • Default: Walk-in Customer
  • Tap + Pilih untuk attach customer terdaftar (penting untuk tracking loyalty & piutang)
  • Atau ketik Nama (Opsional) untuk catat nama tanpa harus terdaftar
3. PESANAN PO (Opsional)
  • Toggle Simpan sebagai Pre-Order ON kalau pesanan akan diambil di kemudian hari
  • Stok dan pembayaran ditahan sampai pesanan PO diselesaikan
Bagian atas Konfirmasi Pembayaran: Keranjang Belanja, Customer, Pesanan PO, dan awal Diskon & Biaya
Bagian atas โ€” Keranjang, Customer, Pesanan PO
4. DISKON & BIAYA TAMBAHAN
  • Diskon: input nilai + dropdown unit
    • Pilih Rp untuk diskon nominal (mis. 10000 = Rp 10.000)
    • Pilih % untuk diskon persentase (mis. 10 = 10%)
  • PPN: toggle ON untuk tambah pajak. Persentase ditampilkan langsung di label (mis. "PPN 11%") โ€” atur tarif di Pengaturan โ†’ Pengaturan Bisnis
  • Biaya Tambahan: biaya ekstra non-ongkir
  • Biaya Ongkir: biaya pengiriman (terpisah dari Biaya Tambahan)
5. Tipe Order (jika Mode Resto/Cafe Aktif)
  • Dine In โ€” makan di tempat
  • Take Away โ€” bawa pulang
  • Delivery โ€” antar

Section ini hanya muncul kalau Mode Bisnis Resto/Cafe diaktifkan di Pengaturan.

6. Catatan (Opsional)

Field Catatan Tambahan untuk keterangan umum transaksi (mis. "ditarik kembali besok", "untuk acara X").

7. DETAIL PEMBAYARAN
  • Subtotal โ€” total sebelum diskon/pajak/biaya
  • Baris diskon, pajak, biaya tambahan, ongkir muncul kalau diisi
  • TOTAL BELANJA โ€” angka besar yang harus dibayar
8. METODE PEMBAYARAN
  • Split Pembayaran (toggle): aktifkan kalau customer bayar dengan beberapa metode (mis. sebagian Cash + sebagian Transfer)
  • Metode Pembayaran: dropdown (Cash / Transfer / QRIS / dll). Tarif & metode bisa dikelola di Pengaturan โ†’ Metode Pembayaran
  • Quick amount: chip Pas (sesuai total), 80K / 90K / 100K / 150K (pembulatan ke atas), Lainnya (input manual)
  • Jumlah Bayar: nominal uang yang diterima dari customer
  • Kembalian: otomatis terhitung (merah kalau kurang bayar)
  • Kalau metode QRIS: tombol Lihat QRIS muncul โ†’ tap untuk tampilkan QR Code di modal. Customer scan untuk bayar
Bagian bawah Konfirmasi Pembayaran: Catatan, Detail Pembayaran, Metode Pembayaran dengan quick amount, dan tombol Proses Pembayaran
Bagian bawah โ€” Catatan, Detail Pembayaran, Metode Pembayaran & tombol Proses Pembayaran
9. Proses Pembayaran
  • Tap tombol Proses Pembayaran (biru, sticky di bawah)
  • Transaksi berhasil โ†’ masuk halaman Sukses (lihat section D. Setelah Transaksi Berhasil)

D. Setelah Transaksi Berhasil

Halaman Pembayaran Berhasil menampilkan:

  • No. Transaksi (mis. TRX-0948) โ€” referensi unik untuk transaksi ini
  • Detail Pembayaran: Total Belanja, Jumlah Bayar, Kembalian
  • Pilihan Aksi โ€” 5 tombol di card bawah

5 Pilihan Aksi:

  1. ๐Ÿ–จ๏ธ Cetak Struk โ€” print ke printer Bluetooth (jika belum pair, muncul preview struk)
  2. ๐Ÿ–ผ๏ธ Bagikan Struk โ€” share struk sebagai gambar (WhatsApp, dll)
  3. ๐Ÿ“„ Bagikan PDF โ€” share struk sebagai file PDF
  4. ๐Ÿ›’ Transaksi Baru โ€” langsung mulai transaksi baru, Keranjang kosong
  5. ๐Ÿ  Ke Home โ€” kembali ke dashboard
Halaman Pembayaran Berhasil dengan No. Transaksi, Detail Pembayaran, dan 5 tombol Pilihan Aksi
Halaman Pembayaran Berhasil

E. Transaksi Produk Varian

Untuk produk varian (mis. obat dengan bentuk Cair / Tablet, atau baju ukuran/warna):

  1. Tap card produk varian (chip VARIAN tampil di atas nama)
  2. Muncul bottom-sheet Pilih Varian dengan list varian:
    • Nama varian (mis. CAIR, TABLET)
    • Harga per varian (mis. Rp5.000)
    • Stok tersedia (mis. Stok: 23)
  3. Tap salah satu varian โ€” dialog meluas, tampil tombol Ubah di kanan untuk ganti pilihan
  4. Atur Jumlah (default 1) via tombol โˆ’ / +
  5. Opsional: Tambah Diskon per item, Tambah Catatan
  6. Tap tombol hijau Tambah di bawah
Bottom-sheet Pilih Varian untuk produk Antangin menampilkan dua varian Cair dan Tablet
Bottom-sheet Pilih Varian dengan list varian

Catatan:

  • Varian dengan stok 0 tidak bisa ditambahkan
  • Validasi stok otomatis โ€” qty tidak bisa lebih dari stok

F. Transaksi Produk Multi-Unit (Mode Grosir)

Untuk produk dengan beberapa satuan (mis. Pcs, Pak, Lusin, Karton). Bisa berdiri sendiri, atau digabung dengan varian.

  1. Tap card produk multi-unit (chip MULTI UNIT tampil)
  2. Di dialog Tambah, muncul section Pilih Satuan: berisi chip-chip satuan
  3. Tiap chip menampilkan:
    • Nama satuan (mis. PCS, PAK)
    • Harga per satuan
    • Konversi ke satuan dasar (mis. (12 PCS) di bawah PAK)
  4. Tap chip satuan yang diinginkan โ€” harga & subtotal otomatis adjust
  5. Atur Jumlah, lalu tap Tambah
Dialog produk dengan section Pilih Satuan menampilkan chip PCS dan PAK dengan konversi 12 PCS
Pilih Satuan โ€” chip PCS & PAK dengan konversi (1 PAK = 12 PCS)

Contoh:

  • Beli 1 PAK Antangin @ Rp 60.000 (isi 12 PCS)
  • Atau beli 5 PCS @ Rp 5.000/PCS
  • Stok tetap dihitung dalam satuan dasar (PCS)

G. Transaksi dengan Batch (Produk Kadaluarsa)

Jika produk punya batch dengan kadaluarsa:

  1. Saat tambah produk ke keranjang
  2. Muncul dialog Pilih Batch
  3. Sistem otomatis pakai FIFO (First In First Out):
    • Batch paling lama masuk dipilih duluan
    • Batch mendekati expired diprioritaskan
  4. Bisa pilih batch manual jika perlu
  5. Tap Lanjutkan

Manfaat:

  • Barang lama terjual duluan
  • Minimalisir produk kadaluarsa
  • Tracking lebih rapi

G2. Split Payment (Bayar dengan Beberapa Metode)

Customer bisa bayar satu transaksi dengan lebih dari 1 metode pembayaran. Contoh: sebagian tunai + sebagian transfer + sebagian QRIS.

Langkah:

  1. Di halaman Konfirmasi Pembayaran, aktifkan toggle Split Payment
  2. Muncul dialog untuk tambah entry pembayaran
  3. Untuk setiap entry, pilih:
    • Metode Pembayaran (Tunai, Transfer, QRIS, dll)
    • Jumlah yang dibayar via metode tersebut
  4. Tambah entry lain sampai total cocok dengan total belanja
  5. Sistem otomatis validasi: total entry = total tagihan
  6. Tap Proses Pembayaran

๐Ÿ’ก Tips:

  • Split payment tetap menghasilkan 1 transaksi (bukan 2+ transaksi terpisah)
  • Laporan Metode Pembayaran akan menghitung setiap entry secara terpisah
  • Struk menampilkan rincian semua metode yang dipakai

G3. Simpan Pesanan (Open Order โ€“ Mode Resto)

โš ๏ธ Fitur ini aktif kalau Mode Resto/Cafe ON di Pengaturan Bisnis.

Fitur untuk simpan pesanan yang belum dibayar (customer masih makan, atau meja belum checkout). Pesanan tersimpan sebagai Open Order dan bisa dipanggil ulang.

Simpan Pesanan:

  1. Buat pesanan di Kasir seperti biasa
  2. Di Konfirmasi Pembayaran, pilih order type (Dine-In, Take Away, atau Delivery)
  3. Isi nomor meja (jika Dine-In) dan instruksi dapur (opsional)
  4. Tap tombol Simpan Pesanan (bukan Proses Pembayaran)
  5. Pesanan tersimpan tanpa mengurangi stok (menunggu pembayaran)
  6. KOT (Kitchen Order Ticket) otomatis tercetak ke dapur (jika printer KOT terhubung)

Buka Pesanan yang Sudah Disimpan:

  1. Di halaman Kasir, tap tombol Open Orders (biasanya di header, menampilkan jumlah pesanan)
  2. Muncul bottom sheet berisi daftar pesanan aktif
  3. Tap pesanan untuk membuka kembali
  4. Bisa tambah/hapus item, lalu lanjut ke pembayaran

๐Ÿ’ก Use Case:

  • Resto โ€” meja A masih makan, meja B order baru
  • Cafe โ€” customer tambah pesanan sebelum bayar
  • Food court โ€” antri, siapkan pesanan paralel

H. Untuk Kasir: Tutup Shift

Di akhir shift/hari:

  1. Di dashboard, tap card hijau Shift Aktif (ada hint "Tap untuk tutup kasir")
  2. Muncul halaman Tutup Kasir (tema merah) dengan info shift: tanggal dibuka, durasi shift, kasir, dan Kas Awal
  3. Di section HITUNG FISIK UANG: hitung manual semua uang tunai di laci kasir, lalu masukkan di field Jumlah Uang Aktual (Rp)
  4. Opsional: isi Catatan Penutupan (mis. "ada selisih kembalian", "1 lembar palsu")
  5. Tap tombol biru Tutup Kasir
  6. Form Tutup Kasir dengan Kas Awal Rp100.000 dan Jumlah Uang Aktual 178.000
    Form Tutup Kasir setelah Kas Aktual diisi
  7. Masuk halaman Detail Shift (tema ungu) yang menampilkan ringkasan lengkap:
    • Info Shift โ€” Kasir, Dibuka, Ditutup, Durasi Shift
    • KAS AWAL โ€” saldo awal saat buka shift
    • PENJUALAN HARI INI โ€” Total Transaksi, Tunai (Cash), Non-Tunai, Total Penjualan
    • PENGELUARAN โ€” total pengeluaran selama shift
  8. Detail Shift bagian atas: info shift, Kas Awal, Penjualan Hari Ini, Pengeluaran
    Detail Shift โ€” info & ringkasan penjualan
  9. HITUNGAN SISTEM & SELISIH (VARIANCE):
    • Hitungan Sistem = Kas Awal + Penjualan Tunai โˆ’ Pengeluaran (Cash). Hasil "Seharusnya" Rp [X]
    • UANG AKTUAL (DIHITUNG) โ€” yang kamu input tadi
    • SELISIH โ€” bandingan dua angka di atas:
      • Hijau "LEBIH" โ€” uang di laci lebih dari hitungan sistem
      • Merah "KURANG" โ€” ada uang yang hilang/tidak tercatat
      • Pas (Rp 0) โ€” sempurna, tidak ada selisih
  10. Detail Shift bagian bawah: Hitungan Sistem, Uang Aktual, Selisih (Variance) dengan box hijau LEBIH Rp78.000, dan tombol aksi
    Detail Shift โ€” Hitungan Sistem, Selisih, & tombol aksi
  11. Aksi yang tersedia di Detail Shift:
    • Cetak Struk โ€” print rekap shift ke printer Bluetooth
    • Kirim ke Owner โ€” share rekap shift ke owner (mis. via WhatsApp)
    • Recalculate โ€” refresh hitungan sistem kalau perlu
    • Kembali ke Home โ€” tutup detail dan balik ke dashboard

๐Ÿ’ก Tips:

  • Selalu hitung uang fisik dengan teliti
  • Jika variance besar, cek ulang transaksi
  • Variance wajar: ยฑRp 1.000 - 5.000