Modules

Point of Sale module

Fast retail checkout with barcode scanning, cart management, and transaction history.

The Point of Sale (POS) module provides a streamlined checkout experience for retail counters, showrooms, and walk-in sales—optimised for speed and simplicity.

Module overview

The POS module is designed for in-person transactions where customers are present. It integrates with your existing inventory and price lists while providing a dedicated interface for quick sales.

FeatureDescription
Barcode scanningScan products directly into the cart using your device camera
Product searchFind products by name, SKU, or category
Cart managementAdd, edit, and remove items with quantity adjustments
Customer selectionLink sales to registered customers or process walk-in sales
Price list integrationAutomatic pricing from your configured sell price lists
DiscountsApply line-item or order-level discounts
Transaction historyView, search, and export completed sales

Checkout screen

The main checkout interface is organised into two panels:

Left panel: Product selection

  • Search bar — Type to search products by name or SKU
  • Scan button — Open the barcode scanner to add products
  • Product grid — Browse and tap products to add to cart

Right panel: Cart

  • Cart items — List of products with quantity and price
  • Subtotal — Sum before discounts
  • Discount — Any applied discounts
  • Total — Final amount due
  • Complete Sale — Finish the transaction

Adding products to the cart

Barcode scanning

The fastest way to add products:

  1. Tap the Scan button in the header
  2. Point your device camera at the product barcode
  3. The product is automatically added to the cart

If the barcode isn’t found, you’ll see a notification with the option to search manually.

When scanning isn’t available:

  1. Type in the search field (product name, SKU, or category)
  2. Results appear in the product grid
  3. Tap a product to add it to the cart

Repeat items

Scanning or selecting the same product again increases the quantity by one. To adjust quantities manually, tap the item in the cart.

Cart management

Editing quantities

  1. Tap the quantity on any cart item
  2. Use the numpad to enter the new quantity
  3. Tap confirm to update

Removing items

  • Swipe left on an item to reveal the delete option
  • Or tap the item and set quantity to zero

Clearing the cart

Tap Clear Cart to remove all items. You’ll be asked to confirm before clearing.

Customer selection

Walk-in sales (default)

If no customer is selected, the sale is recorded as a walk-in transaction:

  • Default sell price list pricing applies
  • No customer reference stored
  • Transaction still appears in history

Registered customers

To link a sale to a customer:

  1. Tap the customer selector in the header
  2. Search or browse your contacts
  3. Select the customer

Benefits of selecting a customer:

  • Customer-specific pricing applies automatically
  • Transaction linked to customer history
  • Useful for loyalty tracking or B2B sales

Pricing

Price list integration

The POS module uses your configured sell price lists from the Accounts module:

  • Default price list — Applied for walk-in sales
  • Customer pricing — Overrides applied when a customer is selected
  • Price resolution — Falls back to default if no customer-specific price exists

Prices display in real-time as you add items to the cart.

Discounts

Apply discounts at two levels:

LevelHow to applyEffect
Line-itemTap cart item → Enter discount %Discount on that product only
Order-levelTap Discount button → Enter discount %Discount applied to subtotal

Both discount types can be combined.

Completing a sale

When ready to finalise:

  1. Review the cart items and totals
  2. Tap Complete Sale
  3. Confirm the transaction

On completion:

  • Transaction is recorded with a unique ID
  • Cart is cleared for the next customer
  • Confirmation shows transaction number

Transaction history

View and manage completed sales:

Viewing transactions

Navigate to the Transactions tab to see:

  • Today — Current day’s sales
  • All — Complete transaction history

Each transaction shows:

  • Transaction ID
  • Time
  • Total amount
  • Item count
  • Customer (if linked)

Filtering

Narrow down transactions by:

  • Date range — Select start and end dates
  • Customer — Filter by specific customer
  • Search — Find by transaction ID

Transaction details

Tap any transaction to view:

  • Full line item list
  • Quantities and prices
  • Applied discounts
  • Customer details
  • Transaction timestamp

Voiding transactions

To void a completed sale:

  1. Open the transaction details
  2. Tap Void Transaction
  3. Enter a void reason
  4. Confirm

Requirements:

  • User must have void permission
  • Voided transactions remain visible with “Voided” status
  • Void reason and timestamp are recorded

Exporting data

Export transaction history for reporting:

  1. Set your desired date range
  2. Tap Export
  3. Download CSV file

The export includes all transaction details for the selected period.

Daily summary

The transaction screen displays a daily summary header showing:

  • Total transactions — Number of sales today
  • Total sales — Revenue for the day
  • Average sale — Mean transaction value

Use this for quick end-of-day reconciliation.

Offline capability

The POS module works when your device loses connectivity:

What works offline

  • Product browsing — Cached product index remains available
  • Cart operations — Add, remove, and edit items
  • Complete sales — Transactions queue for sync

Sync status

A pending sync indicator appears when transactions are waiting to upload. When connectivity returns:

  • Queued transactions sync automatically
  • Indicator clears when all transactions are uploaded
  • Duplicate submissions are prevented

Best practices for offline

  • Ensure products are cached before going offline
  • Complete sync before ending your shift
  • Check transaction history confirms all sales uploaded

Screen layout

The POS interface is optimised for tablets in landscape orientation:

┌─────────────────────────────────────────────────────────────┐
│ [Scan] [Search...              ] [Customer: Walk-in ▼]      │
├───────────────────────────────────┬─────────────────────────┤
│                                   │ CART                    │
│   Product Grid / Search Results   │ ┌─────────────────────┐ │
│                                   │ │ Item 1    $10.00 x2 │ │
│   [Product] [Product] [Product]   │ │ Item 2    $25.00 x1 │ │
│   [Product] [Product] [Product]   │ │ Item 3    $15.00 x3 │ │
│   [Product] [Product] [Product]   │ └─────────────────────┘ │
│                                   │                         │
│                                   │ Subtotal:    $100.00    │
│                                   │ Discount:     -$10.00   │
│                                   │ ─────────────────────── │
│                                   │ TOTAL:        $90.00    │
│                                   │                         │
│                                   │ [COMPLETE SALE]         │
├───────────────────────────────────┴─────────────────────────┤
│ [Clear Cart] [Hold] [Discount]              [Transactions]  │
└─────────────────────────────────────────────────────────────┘

On mobile devices, the layout stacks vertically with tabs to switch between product selection and cart.

Best practices

  1. Use barcode scanning — Faster than manual search for most items
  2. Set up your price list first — Ensure products have prices configured
  3. Train on the numpad — Practice quantity edits for speed
  4. Reconcile daily — Check the daily summary against your cash drawer
  5. Sync before closing — Ensure all transactions are uploaded
  6. Use customer selection for B2B — Track business customer purchases
  • Inventory — Product catalogue and stock management
  • Accounts — Price list configuration
  • Contacts — Customer records for linked sales