Sales stay in this browser. Not uploaded.
What is Retail POS?
A phone-first till: search products, build a cart, discount, then checkout once. Cash, credit or partial; collect dues later; void restores stock. Each checkout uses a client operation id so a double tap does not deduct twice. By default insufficient stock is refused. This is fst-retail, not Tea Shop and not a card-network terminal.
Key features
- Cart with quantity and optional discount
- Stock-safe checkout (oversell opt-in per session)
- Idempotent client operation id
- Dues collection and void that restores stock
- Thermal or A4 receipt
Popular uses
- Take a counter sale without a dedicated POS vendor
- Sell on credit and collect later
- Reprint a receipt from the local history
Supported formats
Thermal/A4 receipt print. Sales never leave this browser.
Troubleshooting
- Checkout says insufficient stock Restock in Inventory or enable oversell for this session only.
Also known as: Shop billing, Point of sale, Counter checkout.
How it works
- Tap products into the cart, set quantity, optional discount, then Checkout once.
- Cash, credit or partial payment; collect dues later; void restores stock.
- Print a thermal or A4 receipt. Sales never leave this browser.
FAQ
Can I sell without stock?
By default no — checkout returns insufficient stock. Turn on Allow oversell for that session if you must.
Does double-tap create two sales?
No. Each checkout uses a client operation id; retries return the same sale without a second stock deduction.
Same data as Tea Shop?
No. Retail uses fst-retail IndexedDB; Tea Shop uses fst-tea-shop.