POS Menu
Overview
The POS screen is used for daily sales transactions: select customers, scan/search products, manage the cart, hold orders, reopen bills, add payments, and print/share receipts.
Before you start
- If the register is not open, you will see “Register is not open”. Tap “Open Register” to open it.
- Select the Warehouse and Biller (unless locked by your role).
- Make sure a customer is selected.
- If products don’t appear in search, run product sync first. See the “Products Menu” guide for steps.
Main inputs on the POS screen
- Customer
- Type at least 2 characters to search.
- If there is only one result, it will be selected automatically.
- Customer row buttons:
- Mic: voice search customers.
- History: open the selected customer’s purchase history.
- Plus: add a new customer.
- Clear: clear the selected customer.
- Theme: toggle dark/light.
- Product
- Type at least 2 characters to search, or scan a barcode.
- Product row buttons:
- Mic: voice search products.
- Scan: open the barcode camera.
- Refresh: re-sync stock & cost for items already in the cart.
- If there is only one result, it will be added to the cart automatically.
- Shipping
- Tap the “Shipping” row in the summary to input shipping cost.
Footer summary
- Items: number of items and total quantity.
- Subtotal: total before shipping.
- Shipping: shipping cost.
- Payable: total amount to pay.
Icon buttons (top row actions)
- X icon: clear the cart (remove all items).
- TopUp icon: open the reload/top up screen.
- ||| icon: open the Warehouse & Biller selection modal.
- Up-left arrow icon: shipping preview + share/print.
- Up-right arrow icon: invoice preview + share/print.
- Cashier icon: open close register modal.
Action buttons (bottom row actions)
- Hold: save the order temporarily (bill) and reopen it later.
- Note: add transaction notes (sales note and staff note).
- Open: open the list of suspended bills.
- Payment: process payment for the transaction.
Cart validation rules
- Quantity cannot be 0.
- Stock will be checked for stock items (non-stock items are skipped).
- Price cannot be below cost (for non-cash items).
- If there are issues, the Payment button will be disabled.
Special transactions (txn_kind)
Some products use special transaction kinds:
tarik_tunai,transfer_tunai,topup,digital- Total = nominal + fee + admin (+ tax).
- When editing, the price field becomes Nominal, Fee, Admin.
stock(default)- Total = price × qty − discount + tax.
Standard transaction flow
- Select a customer.
- Search or scan products.
- Adjust qty/price/discount if needed (tap an item to edit).
- Set shipping (optional).
- Tap Payment, choose payment method, then Finish.
- The receipt will appear and can be shared/printed.
Modals and what they do
- Open Register Modal
- Shown when the register is not open.
- Provides an action to open the register.
- Scanner Modal
- Scans a barcode and fills the product search field.
- Shipping Preview Modal
- Shows a shipping summary.
- Share (WhatsApp) and Print buttons.
- Invoice Preview Modal
- Shows an invoice receipt (without payment).
- Share and Print buttons.
- Customer History Modal
- Shows purchase history for the selected customer.
- Note Modal
- Sales Note: appears on the receipt.
- Staff Note: internal note, not shown on the receipt.
- Shipping Cost Modal
- Enter shipping cost.
- Open Orders Modal
- Lists suspended bills.
- You can reopen or delete them.
- Payment Modal
- Enter payment method, amount, and optional note.
- Shows total, balance, and change.
- Warehouse/Biller Modal
- Select warehouse and biller.
- Can be locked for non-owner/admin roles.
- Receipt Preview Modal
- Shows the payment receipt.
- Share and Close buttons.
- Edit Product Modal
- Edit name, qty/nominal, price/fee/admin, discount, exp, serial.
- Select unit, view stock, and cost per unit.
- Delete, Cancel, Save buttons.
Additional notes
- The cart is saved automatically to local storage and restored when the app is reopened.
- After a successful payment, the cart is cleared and the receipt can be printed automatically.
- The default payment amount is the payable total.