Store Builder

"POS app — selling at the counter"

"Sell at the counter from a phone or computer browser: several locations, registers and cash shifts, returns and debt, stock, staff, reports, restaurant mode, printers and drawers, offline selling, e-invoices."

Manage → Apps has a POS card on the Built in shelf:

"Scan-receive stock and scan-sell at the counter, print a receipt — from any phone or PC browser"

Worth knowing before installing: this is not new hardware, it is a web page running on a device you already own. This page maps the whole app, one short section per area. Two areas have pages of their own: selling when the network drops and e-invoices and delivery apps.

Two places: the manage screen and the counter

Install the app from Manage → Apps like any other (see Installing an app). Its manage screen has the tabs Overview, Registers, Shifts, Member tiers, Settings, Restaurant and Integrations. Press Open POS on Overview to open the counter: a new tab, full-screen, with no Manage menu beside it, because a physical counter does not need the admin's navigation. The counter's bottom bar has Sell, Receive, Orders, Transfers and Stock (plus Tables and Kitchen in restaurant mode).

Locations

A shop can have several locations (warehouses, branches) under Manage → Settings → Locations, each holding its own stock. One location is the online one: the stock your website shows and sells is that location's, not the sum of all of them, because a web customer cannot get goods that sit in another branch. A shop with one location works exactly as before. Goods move between locations on a Transfer: sending takes stock out of the source, receiving adds it at the destination.

Registers, shifts and the cash drawer

Each location has one or more registers; each device picks the one it stands at. Require an open shift to sell is on by default: the cashier opens a shift with an opening float, records cash in/out with a reason, and closes by counting before seeing the expected figure, so the count is what is really in the drawer rather than the number it needs to match. The difference shows on the shift report and the Shifts tab. A shift will not close while it has unpaid sales; a manager can force-close a shift somebody forgot.

Installing the app creates a Thu ngân (cashier) role that can sell but cannot edit products or settings. Closing someone else's shift, voiding a paid sale or editing registers needs the POS manage permission.

Selling

Scan with a USB/Bluetooth scanner (it types like a keyboard) or a phone or laptop camera (needs HTTPS); type the name when there is no code. One sale can be paid several ways at once: cash (the app works out the change), bank transfer (a VietQR code from the SePay account in the Payments app), and card once Accept card payments is on. Card only records a payment the bank's card terminal has already approved, because the app does not talk to the terminal. Likewise the app does not confirm that a transfer arrived: you see the money, then press the button.

Discount codes work at the counter under the same rules as in Discounts; codes tied to a member account are refused, because a phone number does not prove who is standing at the counter. One discount per sale. Cashiers find a customer by phone or create one; the Member tiers tab sets tiers by total spend, each with a percentage off that applies at the counter only.

Debt is off by default (Debt limit per customer = 0). Turned on, the unpaid part of a sale is recorded against the customer, and debt payments go into the collector's current shift, not the original sale's. Returns at the counter refund and restock; with the default settings only a manager can refund, until you set a Cashier refund limit.

Every POS sale lands in Orders, labelled POS, and the Channel filter shows counter sales on their own.

Stock

Receive takes in goods from a supplier or against a purchase order; the Stock tab holds receipts and stocktakes (blind by default: the counter does not see the book figure). Manage → Inventory adds Purchase orders, Stocktakes and Suppliers. A stocktake only changes stock once a manager approves it. Cost is a weighted average, updated by every receipt that carries a cost, and it is the figure reports use for profit.

Staff

Manage → Staff (switched on once): staff, Schedule, Attendance clocked at the counter with a PIN or a QR code on the employee's phone, and monthly Payroll. Payroll does not include tax or insurance. Employees see their own schedule, hours and payslips on their Me page.

Reports

Manage → Reports: revenue by day, location, channel and shift; best sellers; payments; monthly P&L (revenue minus cost minus wages). At the end of a shift the cashier sees that shift's report right at the counter.

Restaurant mode

Turn on Restaurant mode in the Restaurant tab for areas and tables, open tabs, items with options/toppings, kitchen/bar tickets with a Kitchen screen, and split/merge bills. Off, the counter works exactly as before.

Devices

The Devices button on the Sell screen: print straight to a thermal printer (Chrome or Edge on a computer, Android; iPhone/iPad print through the print dialog), open the drawer after a cash sale, a customer display, and a phone used as a scanner for the computer. The drawer only opens for a cash sale, with no manual open button, so every opening matches a transaction. Device settings are stored per device.

Receipts print at 58 mm or 80 mm from the print screen after each sale; the counter's Orders tab reopens it for a reprint.

Selling offline

On by default on every device: when the network drops the counter keeps selling for cash, prints a provisional receipt and syncs when the network is back. Tables/kitchen, returns, debt, shifts and stock still need the network. Clearing browser data loses unsynced sales. In full at POS — selling when the network drops.

E-invoices and delivery apps

The Integrations tab collects VAT invoice requests from the counter into a queue, but no e-invoice provider is connected yet, so no invoice is actually issued. The counter receipt is a retail receipt; tax invoices still have to be issued on your provider's portal. GrabFood and ShopeeFood are not connected either. See POS — e-invoices and delivery apps.

Updated 09/10/2026