Membangun aplikasi kasir ternyata tidak berhenti pada bagaimana sebuah transaksi bisa diselesaikan dengan cepat.
Semakin lama mengembangkan KasirCepat, semakin banyak hal di luar transaksi yang mulai terlihat penting. Pemilik usaha tidak hanya membutuhkan tempat untuk mencatat penjualan. Mereka juga perlu mengetahui siapa pelanggannya, berapa utang yang belum dibayar, bagaimana perubahan persediaan barang, dan bagaimana setiap aktivitas operasional bisa dicatat dengan lebih teratur.
Hal-hal seperti ini yang kemudian menjadi bagian dari pengembangan KasirCepat versi 26.10.29.
Pada pembaruan kali ini, saya menambahkan beberapa fitur yang cukup besar, terutama pengelolaan pelanggan, pencatatan utang, pembayaran QRIS, dan perbandingan stok. Di luar itu, ada sejumlah perbaikan pada interaksi keyboard, pemindai barcode, keamanan perangkat, serta pengelolaan lisensi.
Tidak Hanya Mencatat Transaksi
Salah satu bagian yang saya kembangkan kali ini adalah pengelolaan data pelanggan.
Sebelumnya, transaksi bisa dicatat tanpa harus memiliki data pelanggan. Pendekatan tersebut memang cukup untuk kebutuhan kasir dasar, tetapi ada kebutuhan lain yang tidak terakomodasi ketika pemilik usaha mulai ingin mengelola hubungan transaksi dengan pelanggan tertentu.
Sekarang, KasirCepat memiliki fitur Data Pelanggan. Pengguna bisa menambahkan pelanggan, mengubah informasi, mengarsipkan data, dan mencari pelanggan berdasarkan nama atau nomor telepon.
Saya juga menghubungkan fitur ini dengan pencatatan utang.
Menghubungkan Transaksi dengan Utang Pelanggan
Dalam operasional usaha, tidak semua transaksi selalu dibayar lunas saat itu juga. Ada pelanggan yang membeli barang terlebih dahulu dan membayar kemudian.
Mencatat transaksi seperti ini saja belum cukup. Pemilik usaha juga perlu mengetahui siapa yang memiliki utang, berapa jumlah yang masih harus dibayar, dan berapa pembayaran yang sudah diterima.
Karena itu, transaksi dengan metode pembayaran utang kini bisa dihubungkan dengan data pelanggan.
Pengguna dapat membuka halaman utang untuk melihat saldo yang belum dibayar oleh setiap pelanggan. Ketika pelanggan melakukan pembayaran, pembayaran tersebut juga bisa dicatat langsung dari halaman yang sama.
Saya ingin pencatatan utang menjadi bagian dari alur transaksi, bukan sesuatu yang harus dikelola secara terpisah di luar aplikasi kasir.
Menambahkan QRIS pada Proses Checkout
QRIS juga menjadi salah satu tambahan dalam versi ini.
Implementasinya dibuat sederhana. Pengguna dapat menyimpan gambar QRIS miliknya, kemudian menampilkannya ketika melakukan checkout dengan metode pembayaran QRIS.
Ada satu detail kecil yang saya tambahkan: gambar QRIS dapat diketuk untuk membuka tampilan fullscreen.
Tujuannya agar kode lebih mudah dipindai oleh pelanggan, terutama ketika tampilan checkout digunakan sebagai perantara antara kasir dan pelanggan.
Saya memilih pendekatan menggunakan gambar QRIS yang disimpan pengguna. Jadi, fitur ini berfungsi untuk menampilkan kode pembayaran milik usaha, bukan sebagai integrasi payment gateway yang memproses transaksi secara langsung.
Membandingkan Perubahan Stok
Bagian lain yang cukup menarik untuk dikembangkan adalah Perbandingan Stok.
Melihat jumlah stok saat ini hanya memberikan satu potongan informasi. Kita tahu berapa barang yang tersedia sekarang, tetapi tidak selalu tahu bagaimana jumlah tersebut berubah dibandingkan beberapa hari atau bulan sebelumnya.
Fitur ini memungkinkan pengguna membandingkan total stok dan perubahan jumlah setiap produk antara dua tanggal.
Ada perbedaan mekanisme antara pengguna Free dan Pro.
Pengguna Free dapat membuat snapshot stok secara manual. Sementara itu, pengguna Pro mendapatkan snapshot otomatis setiap hari dengan penyimpanan riwayat hingga 12 bulan.
Secara teknis, snapshot menjadi dasar untuk membandingkan kondisi persediaan pada dua waktu yang berbeda. Tanpa data historis, aplikasi hanya dapat menunjukkan kondisi saat ini, bukan perubahan yang terjadi sebelumnya.
Saya rasa kemampuan melihat perubahan stok ini lebih berguna untuk evaluasi persediaan daripada hanya menampilkan angka stok terkini.
Beberapa Perbaikan pada Penggunaan Sehari-hari
Tidak semua pekerjaan dalam sebuah release harus berupa penambahan fitur baru. Ada banyak detail yang mungkin tidak terlalu terlihat, tetapi cukup berpengaruh ketika aplikasi digunakan setiap hari.
Salah satunya adalah penggunaan keyboard bersama hardware barcode scanner.
Sebelumnya, ada kondisi ketika keyboard dan pemindai barcode tidak bekerja sesuai harapan. Pada versi ini, input keyboard tetap aktif ketika scanner berjalan. Rangkaian input yang datang sangat cepat akan dikenali sebagai hasil pemindaian barcode, sedangkan pengetikan dengan kecepatan normal tetap diteruskan sebagai input keyboard biasa.
Saya juga memperbaiki navigasi pada halaman POS. Ketika pencarian produk sedang terbuka, tombol kembali sekarang akan menutup pencarian terlebih dahulu. Dialog konfirmasi keluar hanya ditampilkan ketika tidak ada pencarian yang sedang aktif.
Selain itu, ada perbaikan pada pemeriksaan keamanan perangkat. Aplikasi sekarang memeriksa apakah pengguna benar-benar sudah mendaftarkan PIN, pola, kata sandi, atau biometrik. Sebelumnya, pemeriksaan lebih berfokus pada kemampuan hardware perangkat untuk mendukung fitur keamanan tersebut. Padahal, keduanya merupakan kondisi yang berbeda.
Pengelolaan Lisensi
Ada dua perubahan kecil pada pengelolaan lisensi.
Pertama, label βHapus Lisensiβ saya ubah menjadi βCabut Lisensiβ. Menurut saya, istilah tersebut lebih tepat untuk menjelaskan tindakan yang sebenarnya dilakukan.
Kedua, sekarang ada animasi loading selama proses pencabutan lisensi berlangsung di server. Pengguna perlu mengetahui bahwa permintaan sedang diproses, bukan mengira aplikasi berhenti merespons.
Pengingat masa berlaku lisensi juga diperbaiki. Sebelumnya, pengingat belum mencakup seluruh rentang waktu yang diharapkan. Sekarang pengingat ditampilkan setiap hari mulai lima hari sebelum masa berlaku berakhir hingga tanggal kedaluwarsanya, termasuk ketika lisensi berakhir tepat pada hari tersebut.
Melanjutkan Pengembangan KasirCepat
Bagi saya, mengembangkan aplikasi seperti KasirCepat adalah proses memahami kebutuhan operasional yang sering kali baru terlihat setelah berbagai fitur digunakan dan dikembangkan.
Saya tidak ingin aplikasi kasir hanya menjadi tempat memasukkan nama produk, jumlah barang, dan total pembayaran. Ada banyak pekerjaan lain yang berkaitan dengan aktivitas penjualan, dan sebagian di antaranya layak ditangani langsung oleh aplikasi.
Itulah arah pengembangan yang sedang saya kerjakan: menambahkan kemampuan yang memang memiliki kegunaan dalam operasional usaha, sambil tetap memperhatikan bagaimana aplikasi digunakan sehari-hari.
Versi 26.10.29 sudah tersedia di Google Play Store.
KasirCepat dikembangkan oleh FlagoDNA.