Skip to main content
Closing a table ends its session and returns the card to Free on the floor plan. In normal service, closing happens automatically once payment completes. Manual closes exist for accidental opens and edge cases.

Overview

There are three closing paths:
  1. Automatic close on payment — the POS processes the full payment; the session ends and the table auto-closes. No waiter action required.
  2. Manual close of an empty session — you opened a table by mistake and want to release it. No PIN required.
  3. Force close with an unpaid bill — a manager overrides the outstanding amount. Requires Manager PIN and a reason.
Temporary tables also auto-archive off the floor plan when they close paid.

Automatic close (the normal path)

Once the cashier has completed payment on the POS:
  • The session’s payment_status becomes paid.
  • Any Smart Invoice submission finalises.
  • The KDS receives a final session_closed event; any remaining served items are archived.
  • The floor card flips from billing (magenta) → free (grey/green depending on your theme).
  • If the table is temporary, it auto-archives off the floor.
  • A LAN broadcast fires so all connected devices update immediately.
You don’t need to do anything — but do glance at the card to make sure it flipped. Occasionally a partial payment sits below the total (see Partial Payments) — the table stays billing until the balance clears.

Manual close — empty session

If you opened a table by mistake and there are no items on it:
  1. Open the table’s Manage view.
  2. Scroll to the footer.
  3. Tap Close Table.
Close table

Close Table action for an empty session

  1. Confirm.
The session ends immediately with a zero_total reason. The card returns to free. No PIN needed because there’s no money on the line.

Force close — unpaid bill

If a bill needs to close without payment (walkout, comp, staff meal that wasn’t billed), this is a manager action. From the POS or the Waiter Manage view:
  1. Tap Close Table.
  2. DishInk detects an outstanding amount and opens the Force Close modal.
  3. Enter a reason — required. Examples:
    • Walkout — police notified
    • Comp — VIP birthday
    • Staff meal — Chef approval
    • System error — bill duplicated
  4. Tap Force Close.
  5. PIN Verify modal — manager PIN required.
  6. On success: session closes with the outstanding amount recorded as a walkout or comp (per your reason). A ZRA credit note is issued if the session had already been fiscally submitted.
The full amount and reason land in the shift report and manager audit log.
Force closes are audited relentlessly. Every field is stored — the manager who authorised, the waiter who initiated, the reason text, the outstanding amount, and (if applicable) the ZRA credit note reference. Use them sparingly.

Offline closing

Closing (manual or force) queues offline:
  • Optimistic: the card flips to free on your device immediately.
  • The close operation is queued with any PIN payload attached.
  • LAN broadcast fires so on-network devices reflect the change.
  • On reconnect, the queue replays.
If the server rejects (e.g. someone paid the bill in the meantime and the session already closed), the queue reconciles and you get a toast: Table 7 already closed — bill paid at 14:32.

Cancelling a close

You can’t “un-close” a session — it’s a fiscal action. If a table closed and the same guests want to reorder:
  • Open the table as normal — it starts a new session for the next round.
  • The previous bill is finalised and reflected in reports.

Table statuses after close

  • Permanent tables → Free (grey).
  • Temporary tables → Auto-archived off the floor.
  • Merged tables → the primary closes; secondaries return to free and un-link.
See Table Statuses for the full lifecycle.

Tips & best practices

Don’t manually close a table that’s just been paid — the automatic close is more reliable and preserves the payment linkage. If the card hasn’t flipped after payment, refresh the floor rather than force-closing.
Reason texts matter. Walkout is much more useful in the shift report than n/a.
For staff meals or comps, pair the force close with a discount or zero-price menu item rather than a bare walkout — it keeps analytics clean.

Common mistakes

  • Force closing an unpaid bill by habit. Every force close is a money leak. Confirm with a manager before authorising.
  • Closing a table with an in-flight KDS order. The kitchen will still prep and serve, but the session is gone — the item ends up abandoned. Cancel the KDS order first via Editing Orders.
  • Closing to “reset” a stuck table. Use the Stuck Tables recovery flow instead — safer and preserves data.
  • Assuming close = paid. Force close ≠ paid. It’s an outstanding balance recorded to the shift.
Last modified on July 19, 2026