Skip to content

Run a POS sale

Goal

Ring a completed frontline sale: add lines, take payment, print or email the receipt.

Who it is for

Cashiers with pos.sell (and pos.view). On-account needs pos.sell_on_account. Manual line discounts need pos.item.apply_discount.

Preconditions

  • pos module on; active terminal with warehouse and cash account.
  • Device trusted (or binding policy allows open/single device).
  • Open till session for the terminal (pos.manage_sessions to open).
  • Catalog / price list available; stockable items need enough stock when policy blocks negatives.

Steps

  1. Open Point of Sale → Open Frontline POS (POS app /). Layout follows the branch/terminal profile (retail, supermarket speed, restaurant, or services).
  2. Select the terminal if prompted. Banner This device is pending trust approval blocks charge until approved.
  3. Confirm an open session. If none: open shift with opening float.
  4. Search or scan items into the cart. Adjust qty/price when permitted. Optional: customer, coupon, tip/service charge, sales rep (if sales_reps module requires it).
  5. Open payment: tenders such as Cash, Card, Gift card, Store credit, On account (as enabled on the terminal).
  6. Match tender amounts to the total (Charge stays disabled on card exceeds / cash short / missing gift-card or customer for credit tenders).
  7. Tap Charge. Online: POST /pos/sales with idempotency key. Offline: sale queues with an offline receipt number for later sync.
  8. Use the receipt sheet to reprint or email.

Result

A completed POS sale: stock issued on settle for stockable lines, session cash/tender counters updated, GL posted per-sale or deferred to shift close (post_per_sale vs post_per_shift). Toast: Sale completed (or queued offline).

Hard stops

  • No open session / inactive terminal / untrusted device.
  • Empty cart; payments do not equal total; no_payments.
  • Insufficient stock; item sold out (86); capability not enabled on the POS profile.
  • On-account without customer, credit hold, or credit limit exceeded.
  • Stale offline catalog snapshot — refresh before charging.

BlueMatrix Help — product documentation for tenants