Sales #pos #counter-sales #retail #cash #card #receipts #otc Raw .md

Over-the-Counter Sales & POS

Process walk-in counter sales, cash and card register settlements, instant inventory fulfillment, and receipt printing.

Routes: /sales-orders/counter

Over-the-Counter Sales & POS

The Over-the-Counter (OTC) Sales module provides a streamlined Point-of-Sale (POS) interface for trade counters and physical branches, combining order creation, payment collection, stock decrement, and receipt printing into an atomic transaction.


Counter Sales Transaction Architecture

flowchart TD
    A[Operator Scans Items at Trade Counter] --> B[Enter Cash / Card Payment]
    B --> C[Click Complete Sale]
    C --> D[1. Sales Order Auto-Completed & Invoiced]
    C --> E[2. Stock Decremented from Counter Bin]
    C --> F[3. Cash/Card GL Entry & Revenue Journal Posted Atomically]
    C --> G[4. Branded Thermal Receipt PDF Printed]

1. Atomic POS Execution

When the cashier completes an OTC sale, HeroBM executes in a single database transaction:

  1. Creates a Sales Order in Shipped / Invoiced status.
  2. Decrements inventory from the branch’s counter bin.
  3. Generates a fully paid Sales Invoice and records the payment entry into the Cash Drawer or EFTPOS clearing GL account.
  4. Generates a compact thermal receipt formatted for counter printers.

2. General Ledger Prerequisites

To process counter sales with cash or EFTPOS settlement, the organization must configure default OTC Cash & Card clearing accounts in Administration → Settings → Financial Settings (/admin/settings/financial).


Step-by-Step Workflows

1. Processing a Walk-In Sale

  1. Go to Sales → Counter Sales (/sales-orders/counter).
  2. Search or scan product SKUs to add items to the cart.
  3. Select the customer (defaults to Cash Sale / Walk-In).
  4. Select the Payment Method (Cash or Card).
  5. For cash sales, enter the Amount Tendered to view change due.
  6. Click Complete Sale. The receipt prints instantly, and stock decrements from the counter bin.

Field Reference

FieldDescription
CustomerAccount receiving the receipt (Cash Walk-In by default).
Payment MethodCash, Card/EFTPOS, Direct Deposit, or Trade Account.
Tendered AmountCash received from customer.
Change DueDifference returned to walk-in customer.

Field Reference & Data Dictionary

Key database fields, input parameters, and definitions associated with this workflow screen:

Field / Parameter Display Name Description & Rules
customer_id Customer (Optional) Walk-in Cash Customer or assigned account debtor.
payment_method Tender Type Payment tender: Cash, EFTPOS / Card, Direct Deposit, or Customer Account.
amount_tendered Amount Tendered Physical cash handed over (calculates exact change required).