Public Guide
Table Counter Documentation
Complete guide for dine-in order entry, product search, cart changes, quick items, charges, discounts, KOT, Save KOT, Bill, Save Bill, Settle, Release Table, and troubleshooting.
Video Tutorial
Table Counter walkthrough
Reserve this section for a YouTube walkthrough that shows menu search, cart edits, Quick Item, charges, discounts, KOT, Save KOT, Bill, Save Bill, Settle, and Release Table.
YouTube video placeholder. Add the tutorial video here when it is ready.
Tutorial video coming soon
This space is reserved for the official walkthrough video.
Quick Start
First counter service test
Open a table from Table View.
Search and add a few menu items.
Send KOT and confirm the table shows Running KOT.
Reopen the table and confirm cart items remain.
Print bill and check release-on-bill behavior.
Settle payment and confirm the table becomes Empty.
Counter Rules
What the counter must protect
Best Practices
Recommended operating habits
Always check the table code before adding items.
Send KOT only after confirming quantity and item names.
Use Quick Item sparingly so reports and inventory stay clean.
Use clear charge and discount titles that a customer can understand.
Do not use Release Table as a replacement for Settle when payment was received.
Train staff on release-on-bill so they know where unpaid printed bills go.
Workflow Maps
Common counter workflows
Order to KOT
Bill With Release-On-Bill
Bill Without Release-On-Bill
Manual Adjustment
Table Counter
Table Counter Overview
Start here when staff need to take a dine-in order after opening a table from Table View.
Table Counter is the dine-in billing and KOT screen. It connects the selected table session to menu items, cart quantity, quick items, charges, discounts, KOT printing, bill printing, saved bills, settlement, and release behavior.
Steps
- Open a table from Table View.
- Confirm the header shows the correct table and customer.
- Search or browse menu items.
- Add products to the cart.
- Adjust quantity or item price where allowed.
- Send or save KOT when kitchen preparation is needed.
- Print or save the bill when the customer asks.
- Settle after payment is received.
Expected Result
The same table order remains connected from first item entry through KOT, billing, payment, and table release.
Table Counter
Header and Table Context
Use this before adding items, especially when staff are moving quickly between multiple tables.
The counter header identifies the active table session. It should show the table name, customer information, and release action when the table is occupied.
Steps
- Check the table code in the header before adding products.
- Check the customer name or Guest Customer label.
- Use Release Table only when the table should be freed without continuing the normal order flow.
- If the wrong table is open, go back to Table View and select the correct table.
- Do not rely on similar table names such as T6 and T06; they are different table codes.
Expected Result
Products, KOT, and bills are posted to the intended floor and exact table code.
Table Counter
Product Cards
Use this to understand what each menu card shows and how quantity is controlled.
Product cards show category, image or placeholder, product title, price, and add or quantity controls. Long titles should remain readable without breaking the order flow.
Steps
- Review product category and name before adding.
- Click Add to place one quantity in the cart.
- Use plus and minus controls to change quantity.
- If a product image is missing, confirm the product name and price before adding.
- If the title is long, open or inspect the item where available before billing.
Expected Result
The cart reflects exactly what the customer ordered with the correct quantity and price.
Table Counter
Cart Management
Use this after adding products or when the customer changes their order.
The cart is the current table order. It must reload from the linked active table order when a Running KOT or Printed table is reopened.
Steps
- Review all cart lines before KOT or bill.
- Use minus to reduce quantity.
- Use plus to increase quantity.
- Remove unwanted items where the interface allows.
- Edit item price only when store permissions allow it.
- Confirm subtotal, tax, charges, discounts, and total before billing.
- If a running table opens with an empty cart, sync or reload before taking more actions.
Expected Result
The table order stays accurate even when items are added, changed, or reopened later.
Table Counter
Quick Item
Use Quick Item for one-time items that are not stored in the product catalog.
Quick Item is useful for temporary charges or custom products, but it should be used carefully because it may not have normal category, kitchen, tax, inventory, or reporting setup.
Steps
- Click Quick Item.
- Enter a clear item name.
- Enter quantity and price.
- Confirm whether it should go to KOT or only billing.
- Add it to the cart.
- Review the bill total before printing.
Expected Result
The order can include special items without creating a permanent product.
Table Counter
Charges and Discounts
Use this for packing charge, service charge, birthday discount, manual discount, or similar order-level adjustments.
Charges increase the bill total. Discounts reduce it. They should be shown clearly in the cart summary so staff and customers can understand the final amount.
Steps
- Click Add Charge/Discount.
- Enter a short title such as Packing or Staff Discount.
- Enter a positive amount.
- Choose Charge or Discount.
- Click Add.
- Review subtotal, tax, total, and adjustment line.
- Remove or correct the adjustment before billing if it was entered wrongly.
Expected Result
Manual adjustments are visible and included in the final bill total.
Table Counter
KOT and Save KOT
Use this when kitchen preparation should begin before payment.
KOT sends the order to the kitchen and can print a kitchen order ticket. Save KOT stores the KOT state without necessarily printing, depending on store setup. Both actions keep products in the same active table order and show the table as Running KOT.
Steps
- Add all items that need kitchen preparation.
- Confirm quantities before sending KOT.
- Click KOT to print or send the kitchen order ticket.
- Click Save KOT when the order should be saved without immediate print.
- Reopen the same table and confirm the cart still contains the items.
- Add extra items later and send another KOT when required.
- Confirm waiter name appears on KOT when waiter assignment is used.
Expected Result
Kitchen receives the preparation request while the table order remains active for future billing.
Table Counter
Bill and Save Bill
Use this when the customer wants the payable bill or the store wants to save the bill before payment.
Bill prints the customer bill. Save Bill stores bill state without completing settlement. Tax should appear only when tax amount is greater than zero.
Steps
- Review cart items, quantity, price, charges, discounts, tax, and total.
- Click Bill to print the customer bill.
- Click Save Bill when the bill should be saved without immediate print.
- If release-on-bill is enabled, the table becomes Empty and the bill moves to Unsettled Orders.
- If release-on-bill is disabled, the table remains Printed and can be reopened.
- Confirm waiter name appears on the bill when assigned.
- Do not settle until payment is actually received.
Expected Result
The customer receives a bill and the table/payment state follows the store's release-on-bill setting.
Table Counter
Settle Payment
Use this when payment is completed by cash, UPI, card, or another accepted method.
Settle is the final payment completion step. It saves the sale, completes the table order, empties the table, and removes the order from pending payment.
Steps
- Confirm the customer has paid.
- Click Settle.
- Choose or confirm payment method where required.
- Complete the settlement.
- Confirm the table returns to Empty in Table View.
- Confirm the bill is removed from Unsettled Orders if it was pending.
- Check sales report if verification is needed.
Expected Result
The table is free for the next guest and the sale is recorded.
Table Counter
Release Table
Use this only when staff intentionally need to free a table outside the normal settlement flow.
Release Table clears table occupancy and prevents old table orders from reviving the table later. It must clear the active order link and current table session for that table.
Steps
- Confirm the table should really be released.
- Check whether there is an unpaid bill or active KOT.
- Use Bill or Settle first when payment should be recorded.
- Click Release Table only when clearing the table is correct.
- Return to Table View and confirm the table is Empty.
- If another device still shows it occupied, sync or reload before opening it again.
Expected Result
The table becomes free and stale old order data should not reopen it.
Table Counter
Unsettled Order Handling
Use this when Bill was printed but payment will happen later.
Unsettled Orders keeps unpaid table bills visible even if the table is no longer occupied. It protects the payment workflow from being confused with seating occupancy.
Steps
- Print bill for the table.
- If release-on-bill is on, find the bill in Unsettled Orders.
- Use Print to reprint the bill if needed.
- Use Settle after payment is received.
- Confirm the unsettled count decreases after settlement.
- Do not reopen the physical table only because an unsettled order exists.
Expected Result
The store can free seating while still tracking unpaid bills safely.
Table Counter
Mobile Counter Workflow
Use this when operating Table Counter on a phone or tablet.
Mobile Table Counter uses tabs and compact panels so staff can switch between Catalog, Cart, and Active orders without losing the current table order.
Steps
- Use Catalog for product browsing.
- Use Cart to review quantities, charges, bill, and settle actions.
- Use Active to switch between running orders if available.
- Keep dialogs scrollable when the keyboard is open.
- Use large primary buttons for KOT, Save KOT, Bill, Save Bill, and Settle.
- Close the keyboard before using lower cart actions if the device viewport is small.
Expected Result
Staff can operate the same dine-in flow on smaller devices without overflow or hidden actions.
Table Counter
Cross-Device Safety
Use this when Flutter mobile, Flutter desktop, and Next.js web are all active in the same store.
Table Counter must use the same order data rules across platforms. Products belong to the active table order for the current table session, and released or settled sessions must not be revived by delayed sync.
Steps
- Add products on one device and reopen the table on another.
- Send KOT and verify the same exact table shows Running KOT.
- Print bill and confirm release-on-bill behavior matches on all devices.
- Settle from one device and confirm others show the table as Empty.
- Use exact table code matching; T6 and T06 must not share state.
- Keep waiter and customer details as display metadata, not occupancy logic.
Expected Result
The counter remains reliable even when multiple staff use different devices.
Table Counter
Troubleshooting
Use this when cart, KOT, bill, tax, charges, settle, release, or sync behavior does not look correct.
Most Table Counter issues come from stale sync, wrong table selection, missing active order link, release-on-bill misunderstanding, printer setup, or a mobile dialog/keyboard layout issue.
Steps
- If cart is empty on a Running KOT table, sync or reload before adding new items.
- If KOT does not print, check printer settings and kitchen routing.
- If bill does not show waiter, confirm the table has an assigned waiter or was opened by a waiter user.
- If tax is zero and still appears on bill, check bill template settings.
- If charges or discounts overflow on mobile, close keyboard and confirm the dialog is scrollable.
- If table remains Printed after bill, check whether release-on-bill is disabled.
- If table becomes Empty after bill, check Unsettled Orders for pending payment.
- If old data reappears after release or settle, sync all devices and avoid using stale local state.
Expected Result
Staff can fix the most common counter issues without damaging the table order.
