Skip to main content

Overview

The DishInk POS is organised into four tabs across the top:
If this device has never claimed a terminal, the Terminal Setup screen appears first. See Terminal Setup.

The Checkout Screen (Three Columns)

On the Table / Quick Sale Checkout tab, the screen is split into three columns:
  1. Active Tables (left) — every open session on your terminal.
  2. Bill View (middle) — the selected table’s running bill.
  3. Payment Panel (right) — payment methods, discount, and split.

Column 1: Active Tables

Every open session on this terminal, filterable by status. The filter chips show live counts:
  • All — everything
  • Pending — bill request sent from the Waiter App, not yet handled
  • Billing — customer has asked to pay
  • Ordering — order is still open, guests still adding
  • Served — food delivered, awaiting the ask for the bill
  • Open — session created, no items yet
Paid table cards show extra kitchen-status badges so you know when the food is out:
Paid takeaway/counter orders show a “Has the customer collected?” prompt 15 minutes after payment (the PaidServedCard auto-timer). Tap Yes to clear the card, or Not Yet to snooze.

Manager Toggles

Managers with the right permissions see two extra toggles above the table list:
  • All Terminals — see open sessions from every terminal, not just this one (requires Manage Terminals).
  • All Tables — see every table, ignoring waiter assignments (requires View All Tables).
Waiters without View All Tables only see the tables they were assigned to for this shift.

Column 2: Bill View

Shows the items on the selected session, discount line, tax, tip, and total. Long-press or tap an item to void a single line (see Voids).

Column 3: Payment Panel

Four large buttons: Cash, Mobile Money, Card, Split Bill. Below them, an Apply Discount / Manager Override button.

Take a Table Sale — Step by Step

1

Open the table (Waiter App)

The waiter opens the table on the Waiter App and takes the order. See Opening Tables and Taking Orders. The session appears immediately on the POS in the Ordering status.
2

Wait for the bill request

When the customer asks for the bill, the waiter taps Request Bill on the Waiter App. Your POS shows a Bill Request toast (with a sound if enabled) and the session flips to Billing.
3

Select the session

Tap the table card in the Active Tables column. The Bill View loads on the right.
4

Preview the receipt (optional)

Tap Preview Receipt to show the customer their total before charging. On a table sale, the preview has a Mark as Awaiting Payment option — useful when the customer needs a minute.
5

Charge

Tap the payment method (Cash / Mobile Money / Card / Split Bill). The Charge Modal opens on the right side of the screen — see the per-method flows below.
6

Confirm

Tap Charge K … at the bottom of the modal. The Smart Invoice submits to ZRA, the receipt prints, and the session closes.
POS checkout placeholder

Three-column POS checkout screen with the payment panel on the right.

The Bill Ready Gate

The Charge button is locked until both of the following are true:
  • Every item on the session is ready or served OR the session status is billing, served, or pending_payment.
  • The session is not currently in a split-active state (see Split Bills).
If a customer is trying to pay while food is still being cooked, you’ll see a hint that says “Waiting for kitchen — bill locked.” This prevents charging for items that could still be voided by the kitchen.

Payment Method Flows

Cash

  • Type or tap Tendered on the number pad, or pick a Quick Select chip (K10, K20, K50, K100, K200, K500).
  • Tap Exact — K… to auto-fill the exact amount.
  • If the tendered amount is more than the bill, DishInk shows a Leave change as tip? choice: Give Change or Tip · K….
  • Optionally add an explicit tip (percent chip: 5%, 10%, 15%, 20%, or fixed amount) — this is added on top of the bill.

Mobile Money

  • Pick a provider: MTN MoMo, Airtel Money, or Zamtel Kwacha.
  • Enter the transaction reference (e.g. MP250529.1830.A12345) — optional but strongly recommended for reconciliation.
  • Optionally add a tip.

Card

  • Process the card on your bank’s terminal first.
  • Enter the terminal slip ID (optional, e.g. SLIP-4821).
  • Optionally add a tip.

Split Bill

Opens the Split Configure panel. See Split Bills.

Offline Resilience

The POS runs on a 3-tier fallback:
  1. Cloud — normal state, everything syncs live.
  2. LAN — if the internet drops, the POS keeps working against the local LAN server.
  3. Local Storage — if the LAN is also down, sales queue locally on the device.
Queued payments show a Payment Queue banner at the top of the screen. When the network comes back, the queue auto-replays and each transaction submits to ZRA in order.
Voids require an active internet connection (the void button is grayed out offline). Refunds can be queued offline. See Voids and Refunds.

Bill Request Toasts

Every bill request from the Waiter App triggers a toast on every POS terminal that can see the table. There’s a small speaker icon on the toast to toggle the alert sound — the preference is saved per device in pos_bill_sound local storage.

Tips & Best Practices

  • Keep the Billing filter selected during peak hours — you’ll only see tables that need charging.
  • Use Preview Receipt before charging split bills or discount overrides — customers get a chance to spot mistakes.
  • If two cashiers get the same bill request, whoever charges first wins. The second cashier’s screen will show the session as closed.
  • Turn the bill-request sound off at bar terminals where waiters don’t need it, and on at the cashier till.

Common Mistakes

  • Trying to charge with the kitchen still cooking. The Bill Ready gate locks payment. Wait for KDS to mark items ready, or move the customer to Awaiting Payment using the receipt preview.
  • Charging without picking a session first. The Payment Panel is disabled until you tap a table card.
  • Adding a tip and leaving the change as tip. Only one applies — the explicit tip wins. Watch the Bill + Tip = Total summary line above the Charge button.
  • Trying to void offline. Voids need the internet; they’re grayed out and require same-day. Use a refund instead if the day has rolled over.
Last modified on July 19, 2026