Cashier Terminal
1. Overview & Purpose
What is the Cashier Checkout Terminal?
2. When to Use Cashier Terminal
High-Speed Barcode Scanning & Instant Drawer Pop (Rush Hour)
Frontline cashier processes high-volume customer queues during peak lunch hours using a 2D barcode scanner in keyboard wedge mode.
Split Multi-Tender Settlement (Cash + QRIS / Card)
A retail customer purchasing goods worth Rp 350.000 pays Rp 100.000 in paper currency and covers the remaining Rp 250.000 via QRIS e-wallet.
Member Account Lookup & Order-Level Promotional Coupons
A registered loyalty member presents their phone number to claim wholesale tier pricing and a 10% store anniversary coupon code.
Stock Availability Guard & Negative Checkout Controls
Cashier attempts to ring up an item whose digital system balance is currently zero on the store floor.
Line-Item vs Whole-Order Promotional Discount Stacking
Applying a 15% promotional markdown on an individual clearance SKU while also honoring a Rp 20.000 store anniversary shopping voucher on the cart subtotal.
Dine-In Guest Count & Table Identifier Tracking (FnB Operations)
Restaurant cashier or counter attendant rings up an order for a party of 4 guests seated at Table #12.
B2B Client Tax Identifier & Dedicated NPWP Billing at POS
A corporate representative purchases retail office supplies at the checkout register and requests an official company tax receipt with corporate NPWP.
3. Data Dictionary & Fields
Schema structure for the transactional sales_transactions header table:
| Field / Column | Input Type | Requirement | Description & Operational Guide |
|---|---|---|---|
invoiceNumber | STRING(100) | Required | Unique receipt invoice code generated upon payment commit (e.g. INV-POS-20260521-001). |
orderChannel | ENUM(POS, ONLINE, MOBILE, MARKETPLACE) | Required | Originating sales channel, defaulted to POS for counter transactions. |
customerId | BIGINT (FK) | Optional | Customer reference or null for anonymous Walk-in Customer. |
totalQuantity | DECIMAL(18,6) | Required | Sum of all item quantities rung up in the transaction. |
subtotal | DECIMAL(18,4) | Required | Pre-tax and pre-discount gross price of all cart items. |
discountTotal | DECIMAL(18,4) | Required | Cumulative amount deducted via percentage or manual promotional discounts. |
taxTotal | DECIMAL(18,4) | Required | Calculated value-added tax according to applied tax configurations. |
grandTotal | DECIMAL(18,4) | Required | Net total payable by customer after taxes, service charges, and discounts. |
paymentStatus | ENUM(UNPAID, PARTIAL, PAID) | Required | Payment status of the sales transaction. |
4. Interface Preview
Frontline cashier checkout interface featuring rapid product barcode scanner, shopping cart, tender breakdown, and live shift status.
Screen Preview: Cashier Terminal Interface
Visual interface illustration and control layout for menu Route: /admin/point-of-sale/cashier
5. Fast Checkout Workflow
Scan or Add Products
Scan item barcode with laser scanner or type product SKU/name into product search box.
Adjust Quantities & Discounts
Modify item quantities or assign line-item and order-level discount percentages.
Attach Customer & Guest Count
Assign customer account or keep Walk-in Customer default; enter guest count if required.
Trigger Payment Modal
Click the green PAY button at the bottom of the order summary pane.
6. Payment Processing & Tenders
Select Payment Method
Choose Cash, QRIS, EDC Debit/Credit, or Bank Transfer from tender options.
Enter Tendered Amount & Change
Input cash received; the interface immediately computes exact customer change due.
Confirm Payment
Click Complete Payment to finalize transaction and post stock deductions.
7. Receipt Printing & Drawer Pop
Automatic Cash Drawer Kick
Print Thermal Receipt
The system triggers print dispatch to thermal printer daemon or browser print dialog.
8. Cross-Module Impact
| Target Subsystem | Relational & Transactional Effect |
|---|---|
| Inventories & Stock Movements | Instantly writes OUTBOUND stock movement rows with SALE type and decreases branch on-hand stock. |
| Shift Management | Updates totalSalesAmount, expectedCashAmount, and transaction counts in the open shift. |
| Sales History | Persists completed transaction record and detailed line items for historical auditing. |
Operational Best Practices
- Use standard USB or Bluetooth 2D barcode scanners configured in keyboard wedge mode for fastest input.
- Keep stock levels accurate in the branch storage to prevent checkout blocks caused by insufficient stock validation.