Skip to content

Point of Sale

In-Store Counter Sales

Last updated: July 3, 2026

STOAR includes a browser-based register at Admin → Sales → Point of Sale. A cashier scans products, takes payment, and STOAR creates a fully settled order — stock decremented, receipt printed, no extra software to install.

There is no proprietary POS appliance and no native app. Any machine that can run a modern browser is a POS machine. Card payments work either way: a standalone EFTPOS terminal beside the register, or an integrated Stripe Terminal reader that STOAR drives directly.

How a Sale Works #

  1. Open the Point of Sale page — the scan field is focused and ready
  2. Scan items with a barcode scanner (or type a SKU and press Enter); line items build up with quantity controls, and totals update live — including tax and automatic cart-rule discounts
  3. Take payment:
    • Cash — enter the tendered amount; change due is calculated on screen
    • Card — either charge a paired Stripe Terminal reader (the amount is pushed automatically and the payment auto-confirms) or take payment on a standalone EFTPOS terminal and record the receipt reference
  4. STOAR creates the order: payment succeeded, status goes straight to Delivered, stock is decremented atomically
  5. Print the receipt (PDF), or email it by entering the customer's address before completing the sale

POS orders appear in Admin → Orders alongside online orders, filterable by payment method POS — Cash or POS — Card (EFTPOS).

No scanner yet? You can run a complete sale by hand: click the scan field, type or paste a product's barcode or SKU, press Enter, then choose Cash or Card and complete the sale. See Try It Without a Scanner in the Barcode Scanners guide.

Supported Machines #

Desktop or Laptop Register

The recommended setup for a fixed counter. Any Windows, macOS, or Linux machine with a modern browser.

Component Requirement
Browser Chrome, Edge, Firefox, or Safari — no plugins
Scanner Corded USB scanner, e.g. Zebra DS2208 (see the Barcode Scanners guide)
Receipt printer Any printer that prints PDFs; 80 mm thermal works if its driver accepts PDF
Card payments Standalone EFTPOS terminal beside the register

Tip: run the browser in kiosk or fullscreen mode (F11) for a dedicated register feel.

Tablet Register (iPad / Android)

The POS page is responsive — the payment panel stacks below the items list on small screens.

Component Requirement
Browser Safari (iPadOS) or Chrome (Android)
Scanner Bluetooth scanner, e.g. Socket Mobile S720/S740 or Zebra DS2278 — pairs as a keyboard
Receipt Print via AirPrint / Mopria, or use email receipts
Card payments Standalone EFTPOS terminal

Note: while a Bluetooth scanner is connected as a keyboard, the on-screen keyboard may hide — most scanners have a toggle to re-enable it.

All-in-One POS Terminals

Commercial POS hardware that runs Windows or Android with a browser — such as Elo touchscreens, Sunmi T-series, or HP Engage — works exactly like a desktop or tablet register: open the POS page in the built-in browser, and attached scanners work as keyboards.

Avoid "locked" Android POS devices that only run vendor apps without a browser — they cannot reach the STOAR admin.

Card Payment Terminals #

STOAR supports two ways to take a card at the counter. Pick per terminal — each register can run either mode.

Standalone Terminal (manual reference)

The card terminal is independent of STOAR. This is how many small retailers operate, and it requires zero integration.

Compatible: any bank- or PSP-supplied terminal — Tyro, Square Terminal, Zettle, SumUp, a Stripe Reader used standalone, or a bank EFTPOS machine.

Flow:

  1. Read the Total due from the STOAR POS screen
  2. Key the amount into the terminal; the customer taps or inserts their card
  3. On approval, select Card in STOAR, enter the terminal's receipt number as the EFTPOS reference, and complete the sale

The EFTPOS reference is required to complete a manual card sale, so every card line is traceable back to a terminal transaction. Reconcile terminal settlement reports against Admin → Orders filtered by POS — Card.

Integrated Stripe Terminal (server-driven)

Pair a Stripe Terminal smart reader — such as the WisePOS E or S700 — with a register, and STOAR drives the payment end to end. No browser plugin and no native app: the amount is pushed to the reader from the server.

Flow:

  1. Select Card and complete the sale — STOAR sends the total to the paired reader automatically
  2. The customer taps, inserts, or swipes on the reader
  3. STOAR waits for Stripe to confirm the charge, then writes the order — the order is only created once payment actually succeeds
  4. A decline or timeout aborts the sale cleanly with nothing recorded; the cashier can retry or fall back to the standalone path

The Stripe PaymentIntent ID is stored as the payment reference, so integrated sales reconcile directly against your Stripe dashboard. When a terminal isn't paired with a reader, that register simply uses the standalone path above.

Configuration Checklist #

Setting Where Why
Cashier accounts Admin → Settings → Admin Users → role Cashier Cashiers get access to the POS page
Store country Admin → Settings → Checkout → Default Country In-store tax is calculated against the store's own country
Tax Admin → Settings → Tax POS totals use the same tax engine as the storefront
Product barcodes / SKUs Admin → Catalog → Products Scans resolve barcodes first, then SKUs as a fallback
Payment methods Nothing to configure POS cash/card methods are built in and never appear in the online checkout
Stripe Terminal reader (optional) Admin → Sales → POS Terminals → Pair reader Only needed for integrated card payments — enter the reader ID (tmr_…) and location ID (tml_…) from your Stripe dashboard

Behaviour Notes #

  • Walk-in customers — no account or address required; enter an email only if the customer wants a receipt by email
  • Stock — reserved and committed atomically per sale; an out-of-stock item aborts the whole sale with nothing recorded
  • Discounts — automatic cart rules apply to POS sales just like online
  • Order status — POS orders go straight to Delivered (the customer leaves with the goods) and never appear in pick or ship queues
  • Counter refunds — a card refund is issued through Stripe automatically when the original sale was charged on a paired reader; standalone EFTPOS sales record a manual refund to be processed on the terminal as before
  • Audit trail — every sale records which cashier took the payment, plus order status log entries

Troubleshooting #

Symptom Fix
Scan does nothing The scan field lost focus — click it once; check the scanner is in HID keyboard mode with an Enter suffix
"Unknown code" The code isn't stored on any product or variant — add it in Admin → Catalog → Products
"Insufficient stock" on scan On-hand stock is lower than requested — receive stock first via Stock Receiving
Complete Sale blocked on cash The tendered amount is below the total due
No email receipt arrived Email receipts are only sent when an address was entered before completing the sale
Wrong tax on POS sales Check the Default Country and tax settings — POS uses the store's country, not a customer address