wiki/android-cashier-flow.md
Android Cashier Flow
Summary: Menjelaskan alur kasir di aplikasi Android Nutapos, termasuk perbedaan tampilan device, pemilihan pelanggan dan meja, manajemen item, perhitungan total, order, pembayaran, dan perilaku printer.
Sources:
Last updated: 2026-04-17
---
Flow kasir adalah salah satu bagian paling rinci dalam source dan merupakan inti operasional aplikasi Android Nutapos (source: data-source.md).
Struktur layar berdasarkan device
- Pada tablet, layar kasir terbagi menjadi dua bagian, yaitu struk di kiri dan grid atau list produk di kanan (source: data-source.md)
- Pada HP, layar kasir ditampilkan secara bertumpukan, bukan berdampingan (source: data-source.md)
- Perbedaan tablet vs HP ini penting karena memengaruhi interaksi pelanggan, meja, dan beberapa jendela input (source: data-source.md)
Pelanggan dan meja
Pelanggan
- Pada tablet, user dapat membuka jendela pelanggan dari layar struk (source: data-source.md)
- User dapat memilih pelanggan, termasuk opsi tanpa pelanggan (source: data-source.md)
- User dapat menambah, mengedit, menghapus, atau menghapus semua pelanggan dari jendela pelanggan (source: data-source.md)
Meja
- Jika fitur meja aktif, user dapat membuka layar meja dari kasir pada tablet (source: data-source.md)
- User dapat memilih meja, menggabungkan meja, memindah meja, dan mengubah jumlah pengunjung (source: data-source.md)
Pemilihan produk dan perilaku struk
- User memilih produk dari grid atau list hingga masuk ke struk (source: data-source.md)
- Jika produk memiliki variasi harga atau pilihan ekstra, sistem menampilkan jendela pemilihan variasi atau pilihan ekstra beserta quantity (source: data-source.md)
- Jika item yang dipilih identik dalam nama, varian, dan tanpa diskon atau keterangan, sistem menambah quantity pada baris yang sama, bukan membuat baris baru (source: data-source.md)
- Jika ada perbedaan penting, sistem membuat baris baru di struk (source: data-source.md)
- Sistem juga memperhitungkan promo secara otomatis jika ada (source: data-source.md)
Pencarian dan mode tampilan
- User dapat mencari atau memfilter produk (source: data-source.md)
- Barcode scanner dapat dipakai dari kotak pencarian jika modul barcode tersedia, dan hasil scan bisa langsung masuk ke struk (source: data-source.md)
- User dapat beralih antara mode grid dan mode list (source: data-source.md)
- Pada mode grid, user dapat melakukan zoom in dan zoom out (source: data-source.md)
- User dengan hak akses yang sesuai dapat menambah, mengedit, menghapus, dan memindah posisi produk dengan drag and drop (source: data-source.md)
Kategori produk
- Jika kategori lebih dari satu, user dapat memilih kategori di bagian atas layar kasir (source: data-source.md)
- User dapat memindah posisi kategori dengan drag and drop, kecuali tab Tanpa Kategori (source: data-source.md)
- Setelah kategori dipilih atau diubah, sistem me-refresh tampilan produk (source: data-source.md)
Edit baris struk dan edit total
- User dapat mengedit baris struk untuk mengubah quantity, diskon produk, varian, pilihan ekstra, atau keterangan (source: data-source.md)
- User juga dapat mengedit total untuk menambahkan diskon final atau menonaktifkan pajak (source: data-source.md)
- Setelah perubahan, subtotal per baris dan total footer diperbarui otomatis (source: data-source.md)
Aturan perhitungan
Source memuat aturan perhitungan yang cukup detail, antara lain:
- `SubTotal = (Quantity x UnitPrice) + MarkupValue + (DiskonMinusAtauPlus x DiscountValue)` (source: data-source.md)
- `UnitPrice = SellPrice + SumModifierPrice` (source: data-source.md)
- Harga jual dapat berasal dari master varian atau master item, tergantung apakah varian dipilih (source: data-source.md)
- Modifier menambah harga melalui quantity pilihan dan harga pilihan (source: data-source.md)
- Total akhir mempertimbangkan diskon final, pajak yang belum termasuk harga jual, pajak yang sudah termasuk harga jual, dan pembulatan (source: data-source.md)
- Untuk tipe penjualan ojek online, harga satuan dapat di-markup dan dibulatkan sesuai pengaturan (source: data-source.md)
Aturan ini layak dipisahkan lebih lanjut ke halaman reference khusus seperti `sales-calculation-rules` jika wiki ingin lebih mendalam.
Simpan order dan floating order
- User dapat menyimpan order jika pelanggan belum langsung membayar (source: data-source.md)
- Jika pengaturan printer aktif, simpan order dapat memicu cetak pesanan di kasir, dapur, atau bar (source: data-source.md)
- Setelah order disimpan, sistem menampilkan floating ball untuk menandai pesanan yang belum dibayar (source: data-source.md)
- Floating ball menampilkan jumlah pesanan aktif yang belum lunas (source: data-source.md)
- User dapat membuka floating ball untuk mengedit order, menambah item, mencetak bill, split order, atau menghapus pesanan (source: data-source.md)
Pembayaran
- User dapat menyelesaikan pembayaran setelah pesanan sesuai (source: data-source.md)
- Tipe pembayaran dapat berupa tunai, kartu, atau campuran, tergantung pengaturan (source: data-source.md)
- Untuk pembayaran kartu atau campuran, user dapat memilih rekening dan mengelola daftar rekening jika punya hak akses (source: data-source.md)
- Setelah simpan pembayaran, sistem dapat mencetak nota di kasir atau membuka layar kirim struk via email dan SMS bila modul itu aktif (source: data-source.md)
Uang muka dan pengaruh ke stok
- Jika modul uang muka aktif, tombol simpan order berubah menjadi uang muka (source: data-source.md)
- User harus mengisi nilai uang muka, meskipun boleh 0 (source: data-source.md)
- Jika modul uang muka tidak aktif, simpan order otomatis mengurangi stok (source: data-source.md)
- Jika uang muka aktif dan nilainya lebih dari 0, stok belum berkurang tetapi transaksi sudah dianggap penjualan (source: data-source.md)
- Jika uang muka aktif namun nilainya 0, stok otomatis berkurang tetapi belum berefek ke laporan penjualan (source: data-source.md)
Printer behavior
Source memuat perilaku printer yang cukup rinci:
- cetak pesanan di kasir (source: data-source.md)
- cetak ke dapur atau bar berdasarkan pengaturan (source: data-source.md)
- pemisahan cetak dapur dan bar berdasarkan kategori item (source: data-source.md)
- cetak nota di kasir setelah pembayaran (source: data-source.md)
- dukungan beberapa model printer dengan auto cut (source: data-source.md)