Update September 2026: Stok yang Tidak Pernah Minus, Aslen Bisa Baca Foto, dan Promo Bundling Baru

Rilis September 2026 membereskan satu hal yang selama ini paling sering bikin bingung di toko: angka stok. Mulai rilis ini, stok di Lensiro selalu berarti barang yang benar-benar ada di rak — tidak pernah minus — dan unit yang sudah terjual tapi belum diambil pelanggan punya kolomnya sendiri: Dalam Pesanan. Plus Aslen yang sekarang bisa melihat foto, promo bundling dengan empat cara menyusun paket, kuitansi pembayaran siap cetak, dan portal member yang akhirnya menampilkan promo yang sedang berjalan.
Stok Sekarang Selalu Sama dengan Rak
Selama ini ada satu pertanyaan yang tidak pernah punya jawaban enak: saat pelanggan sudah bayar frame tapi kacamatanya masih di lab, barang itu dihitung sebagai stok atau bukan? Barangnya masih ada di rak toko, tapi sudah bukan milik toko lagi. Jawaban lama membuat angka stok bisa jatuh ke minus — dan begitu angka minus muncul, semua laporan setelahnya ikut susah dipercaya.
Sekarang aturannya satu dan berlaku di seluruh sistem: stok berkurang saat barang diambil atau dikirim, bukan saat penjualan disimpan. Konsekuensinya, angka di layar Stok Barang berubah jadi tiga angka yang masing-masing punya arti jelas:
- Stok — jumlah fisik di rak saat ini. Tidak pernah minus, apa pun yang terjadi.
- Dalam Pesanan — bagian dari stok itu yang sudah terjual tapi belum diambil pelanggan. Masih di rak, tapi sudah ada pemiliknya.
- Tersedia — Stok dikurangi Dalam Pesanan. Inilah yang boleh dijanjikan ke pelanggan berikutnya.
Contohnya: baris dengan Stok 4 dan Dalam Pesanan 2 berarti ada empat unit di rak, dua di antaranya sudah dipesan. Saat kedua unit itu diambil, Stok turun jadi 2 dan Dalam Pesanan jadi 0. Kalau Stok 0 dan Dalam Pesanan 2, artinya cabang berutang dua unit yang belum dimilikinya — pesanan itu baru bisa diselesaikan setelah barang datang.
Aturan yang sama sekarang dipakai di mana-mana, bukan hanya di halaman stok:
- Di kasir, Penjualan Langsung tidak bisa mengeluarkan barang melebihi yang ada di rak — server menolaknya, bukan cuma peringatan di layar. Untuk penjualan tipe order, memesan melebihi stok justru wajar: barisnya menunggu sebagai "dalam pesanan" sampai barangnya datang. Toko yang ingin kasirnya sama sekali tidak boleh menjual di luar stok tinggal mencabut izin Boleh Melebihi Stok dari role yang bersangkutan.
- Di Stok Opname, opsi "Hitung stok buffer" dihapus karena sudah tidak ada gunanya — unit dalam pesanan tidak pernah keluar dari hitungan, jadi menambahkannya lagi berarti menghitung dua kali. Sekarang angka "N dalam pesanan" hanya ditampilkan sebagai informasi.
- Di Minta Stok, permintaan dihitung dari unit yang benar-benar bebas, bukan dari angka yang sudah dijanjikan ke order lain.
- Di Pesanan Antar Cabang, permintaan internal divalidasi terhadap ketersediaan nyata cabang pemasok — termasuk unit yang sudah diklaim order internal lain yang belum dikirim. Dua cabang tidak bisa lagi sama-sama dijanjikan frame terakhir yang sama.
Bagi toko yang memakai API Publik Lensiro, endpoint stok kini mengembalikan on_hand dan in_order terpisah dengan definisi yang sama persis seperti di layar.
Aslen Bisa Melihat Foto — dan Menyambut Anda di Dashboard
Aslen, asisten AI yang diperkenalkan bulan lalu, dapat dua peningkatan besar.
Sekarang Aslen bisa membaca foto. Klik ikon gambar di kolom chat, lampirkan foto, lalu tanya. Foto resep tulisan tangan yang ingin dibacakan, foto rak yang ingin dihitung, foto frame yang ingin dicarikan padanannya di stok — semuanya bisa dikirim (JPG, PNG, GIF, atau WEBP, maksimal 20MB per foto). Karena mesin di balik Aslen berganti dan foto kini ikut dikirim ke layanan AI, Lensiro akan meminta persetujuan Anda sekali lagi saat pertama kali membuka Aslen setelah update — itu memang gunanya layar persetujuan itu ada.
Aslen pindah ke bagian paling atas Dashboard. Bukan lagi kartu kecil yang harus dicari, tapi kolom pertanyaan yang langsung siap diketik begitu Anda membuka Lensiro, lengkap dengan saran yang sudah membaca data toko Anda hari itu — misalnya "Stok · 12 item perlu restock", yang kalau diklik langsung menanyakan item mana yang paling perlu dipesan duluan. Ada juga tombol Hentikan untuk menghentikan Aslen di tengah investigasi kalau Anda sudah dapat jawabannya atau salah ketik.
Dan yang tidak berubah: Aslen tetap hanya membaca. Tidak ada transaksi yang dibuat, tidak ada stok yang diubah, tidak ada data yang dihapus.
Promo Bundling: Empat Cara Menyusun Paket
Promo bundling sebelumnya hanya bisa satu bentuk: beberapa barang dijadikan satu harga paket. Sekarang, setelah menyusun slot barangnya, Anda memilih bagaimana potongannya bekerja:
- Harga Paket (Rp) — total barang yang mengisi slot dipotong menjadi satu harga paket. Misalnya frame + lensa jadi Rp 750.000.
- Diskon Persen (%) — barang yang mengisi slot mendapat potongan persentase.
- Potongan Rupiah (Rp) — total barang yang mengisi slot dipotong sebesar nominal tetap, dan potongannya dibatasi maksimal senilai barangnya sendiri.
- Gratis Barang — slot yang ditandai gratis diberikan cuma-cuma saat slot berbayar lainnya terpenuhi. Inilah bentuk "beli 2 gratis 1" yang selama ini harus diakali dengan diskon manual.
Promo bundling juga sekarang mengecek stok sebelum dimasukkan ke keranjang: kalau salah satu barang paketnya tidak cukup, kasir langsung diberi tahu barang mana yang kurang — separuh paket bukanlah paket.
Kuitansi Pembayaran, Langsung dari Menu Cetak Nota
Pelanggan yang membayar cicilan sering minta bukti terima uang, dan sampai sekarang jawabannya adalah tulis tangan. Rilis ini menambahkan Kuitansi Pembayaran yang tercetak rapi dari sistem: nomor nota, nama pembayar, metode pembayaran, kasir yang menerima, nominal dibayar lengkap dengan jumlah terbilang, lalu total tagihan, total yang sudah dibayar, dan sisanya — dengan cap status LUNAS atau BELUM LUNAS dan ruang tanda tangan penerima. Kalau pelanggan membayar lebih, kuitansi menyebutnya "Kelebihan", bukan sisa yang minus.
Tombol Cetak Nota di halaman penjualan sekarang jadi tombol bercabang: klik langsung untuk Faktur seperti biasa, atau buka panahnya untuk memilih Kuitansi. Tombol Cetak Kuitansi yang dulu berdiri sendiri di tab Pembayaran dipindah ke sini supaya semua yang bisa dicetak dari satu transaksi ada di satu tempat.
Portal Member: Promo, Resep Terakhir, dan Tombol WhatsApp
Portal member — halaman yang bisa dibuka sendiri oleh pelanggan Anda — kini menampilkan lebih dari sekadar riwayat:
- Promo yang sedang berjalan di cabang tempat member itu terdaftar, dengan nama, keterangan singkat, dan tanggal berakhirnya.
- Refraksi terakhir — Sphere, Cylinder, Axis, dan Prisma dari pemeriksaan terakhirnya, sehingga pelanggan tidak perlu menghubungi toko hanya untuk menanyakan ukuran lamanya.
- Pembelian terakhir beserta statusnya.
- Tombol Pesan lewat WhatsApp yang membuka chat ke nomor toko dengan pesan pembuka yang sudah terisi.
Di balik layar, akses ke data ini kini diverifikasi di server berdasarkan sesi member yang sedang login, dan yang dikirim ke halaman hanya nama, keterangan, dan tanggal berakhir promo — bukan struktur harga di dalamnya.
Bank Wajib pada Pembayaran Non-Tunai
Rekonsiliasi settlement jadi pekerjaan menebak-nebak kalau pembayaran QRIS hari itu tidak mencatat lewat merchant mana uangnya masuk. Di Pengaturan ada opsi baru: Bank Wajib pada Pembayaran Non-Tunai. Saat dinyalakan, kasir harus memilih bank/merchant setiap mencatat pembayaran QRIS, Debit, atau Kredit.
Pilihan itu ikut tercetak di nota — "QRIS (BCA)", bukan sekadar "QRIS" — dan tersedia sebagai field terpisah di API Publik, sehingga laporan penjualan bisa dicocokkan langsung dengan laporan settlement dari bank. Opsinya mati secara default; nyalakan kalau toko Anda memang merekonsiliasi per merchant.
Kas Kecil: Lampiran Wajib untuk Kas Keluar
Juga di Pengaturan: Lampiran Wajib pada Kas Keluar. Saat dinyalakan, setiap pencatatan Kas Keluar di Kas Kecil harus disertai foto atau scan bukti — nota, kuitansi, struk — sebelum bisa disimpan. Berlaku untuk semua pengguna, tanpa pengecualian per role, karena aturan pembukuan seperti ini memang seharusnya berlaku merata.
Selain itu, filter Akun di Kas Kecil sekarang punya izinnya sendiri. Pengguna tanpa izin itu otomatis terkunci ke kas kecil utama — dan sekarang layarnya jujur menampilkan "Akun (terkunci)", bukan diam-diam menyembunyikan filternya.
Pembelian: Scan Barcode yang Benar-Benar Bisa Dipakai
Scan barcode di form pembelian sebelumnya hanya bekerja untuk satu scan yang pelan dan tanpa ambiguitas. Sekarang ia dirancang untuk dipakai berdiri di depan tumpukan barang:
- Barang yang berhasil discan langsung masuk sebagai baris, dan kolom pencarian mengosongkan dirinya sendiri sambil tetap fokus — scan kedua, ketiga, dan seterusnya tinggal jalan.
- Scan yang tidak ketemu atau ketemu lebih dari satu memunculkan notifikasi, bukan diam seperti scan yang berhasil. Salah scan ketahuan saat itu juga, bukan saat kiriman datang.
- Menyorot baris lalu menekan Enter kembali berfungsi normal untuk yang mengetik manual.
Dua penyesuaian lain di pembelian: Tanggal Order kini otomatis terisi hari ini menurut kalender WIB (bukan menurut jam komputer yang kadang belum di-set), dan Tipe Harga otomatis mengikuti default akun sesuai Tipe Pembelian yang dipilih — dan ikut berubah saat Anda mengganti tipe pembeliannya, bukan menyisakan tipe harga yang salah dari pilihan sebelumnya.
Perbaikan Penting di Rilis Ini
- Rentang tanggal di laporan sekarang benar. "Hari Ini" pada Laporan Item Terjual sempat mengembalikan dua hari, dan rentang 1–30 September mengembalikan 31 hari, karena server berjalan di UTC sementara hari kerja toko berjalan di WIB. Seluruh pemilih tanggal di laporan penjualan, pembelian, stok, akuntansi, dan kas kecil kini terkunci ke hari kalender Asia/Jakarta.
- Tanggal terima pembelian tidak lagi ditolak otomatis. Penerimaan barang yang dicatat di hari yang sama dengan tanggal order sempat ditolak dengan alasan "lebih awal dari tanggal order" — akar masalahnya sama: selisih zona waktu, bukan validasi yang terlalu ketat.
- Memo di Terima Stok Mutasi tidak lagi terhapus. Catatan yang ditulis cabang pengirim kini muncul di modal penerimaan, dan mutasi yang sudah selesai tidak bisa dikonfirmasi ulang — konfirmasi kedua dulu tidak memindahkan stok tapi diam-diam menimpa nama penerima dan memonya.
- Email "pesanan selesai" menampilkan tanggal yang benar. Langkah "Siap diambil" dulu selalu kosong karena diambil dari tanggal faktur yang belum ada saat email dikirim; sekarang diturunkan dari facet yang benar-benar menyelesaikan orderan, dan pada penjualan dengan beberapa facet setiap langkah membaca facet-nya masing-masing.
- Filter SPH/CYL/ADD di Tugas Opname berlaku ke semua jalur. Sebelumnya filter hanya memengaruhi angka ringkasan; daftar kerja dan file "Export untuk Opname" tetap mengeluarkan seluruh isi cabang.
- Harga Jual di surat jalan mutasi kini bisa ditampilkan lewat tombol di modal cetak, dan hanya untuk pengguna yang memang berhak melihat harga jual — surat jalan ikut keluar bersama kurir, jadi angka itu bukan layar internal.
- Foto barang bisa diperbesar dengan klik, bukan hover. Pratinjaunya kini dialog sungguhan: Esc menutup, klik di luar menutup, dan tombol Tutup serta Cetak di modal di belakangnya tidak lagi tertutupi.
- PD di Data Resep pada Nota kini benar-benar per mata. Dua kotaknya menyimpan PD monokuler masing-masing mata dan totalnya dihitung otomatis — sebelumnya nilai binokuler pasien bisa terisi ke kedua kotak dan tersimpan menjadi dua kali lipat.
- "Semua Cabang" di Manajemen berfungsi. Pilihan itu sebelumnya menghasilkan dua panel kosong; sekarang menampilkan karyawan dan jadwal seluruh cabang sekaligus.
- Rekap Order Supplier lebih mudah dibaca: keterangan per barang tercetak di baris barangnya, sementara catatan tingkat order dirangkum di kaki lembar.
- Tata letak nota thermal 58 mm dirapikan agar kolom dan totalnya tidak lagi patah di kertas sempit, dan mencetak Faktur lalu Kuitansi berturut-turut tidak lagi menghasilkan lembar kosong di perangkat Android.
Coba Sekarang
Semua yang di atas sudah aktif di akun Lensiro Anda. Yang paling cepat terasa: buka Stok Barang dan perhatikan kolom Dalam Pesanan — angka itu menjelaskan selisih antara "barang di rak" dan "barang yang boleh dijanjikan" yang selama ini hanya ada di kepala staf Anda. Lalu buka Dashboard dan lemparkan satu foto resep ke Aslen.
Belum pakai Lensiro? Hubungi tim kami untuk demo — dan lihat bagaimana toko optik modern bekerja.

Update Agustus 2026: Kenalkan Aslen — Asisten AI Toko Optik Anda, Plus Alert Stok & Lensiro Fit Makin Matang
Rilis Agustus 2026 memperkenalkan Aslen — asisten AI yang menjawab pertanyaan omzet, stok, dan member dengan angka dan grafik, read-only — plus Alert Stok min/max otomatis dan pengukuran PD berbasis kartu di Lensiro Fit.

Siapa Aja yang Boleh Lihat Laporan Keuangan Toko Kamu? Ini Pentingnya Hak Akses Bertingkat
Memberi semua staff akses penuh ke sistem mungkin kelihatan lebih praktis di awal, tapi seiring toko berkembang dan jumlah staff bertambah, ini jadi risiko yang terus membesar — baik dari sisi keamanan data maupun akuntabilitas.

Checklist QC Kacamata: Kenapa Toko Optik Wajib Punya Ini Sebelum Kacamata Diserahkan?
Kacamata cacat yang sampai ke tangan pelanggan biasanya bukan karena stafnya gak becus — tapi karena gak ada proses wajib yang mencegah tahap penting terlewat saat toko sedang sibuk. Checklist QC yang terstruktur adalah pengaman terakhir sebelum masalah itu benar-benar sampai ke pelanggan.

