Skip to content

POS & cashier

The POS is a standalone cashier experience for tablets and Windows kiosk PCs. Cashiers sell, return, hold carts, split payments, print receipts, and close Z-reports without walking the full ERP UI.

Clients

ClientNotes
Android / iOSCamera barcode scan + USB/Bluetooth HID
Windows desktopLAN thermal printers, HID scanners, close-to-tray cashier shell

Routes (mobile): /business/:businessId/pos and /business/:businessId/pos/settings.

Cashier flow

  1. Pick products from category tabs, search, scan, or HID entry.
  2. Edit quantities and line/invoice discounts in the cart.
  3. Choose walk-in or a named customer.
  4. Split tenders across payment methods.
  5. Pay & Print persists a durable outbox sale (client_sale_id), posts to the API when online, then prints and opens the drawer.
  6. Hold / Recall parks and restores carts; Z-report totals by method and compares expected vs counted cash.

Hardware

Configure under POS hardware settings:

  • Receipt printer — prefer LAN ESC/POS at host:9100; Windows can also use installed RAW USB printers.
  • Cash drawer — kick pulse over the printer transport after Pay & Print.
  • Barcode scanner — HID keyboard-wedge (all platforms) or camera (mobile).
  • Scale / customer display / card terminal — seams exist; scale and terminal are manual today.

Use Test print before going live on a station.

Offline behavior

POS sales and Z-report closings land in the Drift sync_outbox. The shared client_sale_id keeps retries idempotent. Posted sales mirror into local invoices so the invoice workspace stays coherent while sync catches up.

On Windows, minimizing the cashier window keeps a background sync timer alive; leave the tray process running on the station.

Documentation for Tadbeer operators, developers, and implementation partners.