A grocery POS therefore has to start at stock and cost, not at the cash drawer. And the real competitor in a shop this size is not another brand — it is a paper notebook and a calculator. So the system has one thing to prove in the first week: that it is faster than writing by hand, and that it answers the questions the notebook cannot. The five things that decide whether a till survives two years are on choosing a POS system. Everything on this page is free to use, with no monthly fee.
Enter a product once, sell it in the shop and online
Each product carries photos, a description, a price and stock. Variants in the retail module are generated from attributes rather than typed one by one: declare the axes that genuinely differ — pack size, flavour — and every combination becomes a variant that holds its own stock. This heads off the most common grocery mess, where the large bottle and the small bottle are entered as two separate products, the report cannot add them up, and only one of them has a correct count.
Counter sales and online orders land in one ledger, so sales totals, bill counts, average bill, the split between cash and PromptPay, the top five sellers and the seven-day chart all describe the whole shop rather than one channel.
Stock that moves itself, and warns before it is gone
- Selling decrements stock, from the counter till and from online orders alike.
- A low-stock threshold can be set per product, and the console shows a live badge so nobody has to go and look.
- Out of stock is written across the photo before the tap, not discovered at checkout.
- Discontinuing removes an item from the storefront without deleting it — old bills stay readable because a bill stores its own names and prices.
Buying and payables live in the same system as selling
The purchasing and payables tile in the business console covers the buying side end to end, from a purchase order to goods actually received into stock — and that receipt is what writes the cost into the books, rather than a number guessed later. This matters more than it looks, because it is what makes "what did we actually make this month" answerable.
When something sells, the cost of what left the shelf is taken out of inventory in the ledger at the cost that batch was really bought for. The system does not recompute a cost anywhere, so the margin in the report is not an estimate.
Selling on credit, with a due date the system works out
A grocery with regulars who settle at the end of the month needs two things: who owes what, and when it falls due. That runs through the business documents — the contacts book stores credit days per customer, and when an invoice is raised for them the due date is derived automatically from those days rather than typed. Set credit days to zero if you want to type the date yourself.
Documents also carry a withholding tax field for corporate customers, calculated on the pre-VAT amount as Thai law requires, and internal notes kept separate from the notes printed on the paper — so "always pays late" can be recorded without the customer reading it.
Thai tax invoices cannot be issued. Only VAT-registered businesses may, and there is nowhere in the system to record that registration. Quotations, invoices, receipts and credit notes are all available. It is one of the three questions answered no.
No connected scales and no sale by weight. The selling unit is always a piece, so a shop that weighs most of what it sells is not yet a fit. A USB barcode scanner does work, because each product carries a code and the till's search box matches it — what is missing is a scan mode that adds to the basket for you. We would rather say so here than let you find out during setup.
Discounts, coupons and member prices
A sale price can be scheduled to a date range, and the storefront shows it beside the struck-through original with a percentage badge, so the size of the discount is legible rather than guessed. The promotions and coupons tile adds four more: code-entry coupons, free delivery above a threshold, happy hours, and member pricing.
One rule is fixed and cannot be switched off in settings: alcohol never receives a promotional price, under section 32 of the Thai Alcoholic Beverage Control Act. It lives inside the server-side pricing, not in a preference.
Regulars and points
Fridges, shelving and the machine on the counter belong in the asset register instead, which is a separate tile from stock, and a shop with staff gets rosters, GPS clock-in and payroll from the same account — My workplace is the employee's side of it. The customer list builds itself from real bills rather than being typed twice. Each person carries notes and tags, a purchase history, and points at whatever rate the shop sets, against rewards the shop defines. If a bill is cancelled, the points it granted are taken back — so the balances do not quietly drift over a year.