Table Management
Your floors and tables, the live floor and Floor pulse, moving, merging, joining and splitting bills, Bill out, waiter sections, ordering from a table's QR code, and the Tables report.
21 min read · Updated 25 Oct 2026
On this page
- What needs which add-on
- Where each part works
- The screens
- Setting up your tables
- The live floor
- Views
- The Floor pulse
- The table panel
- Seating guests and sending orders
- Opening the POS on the floor
- Bill out
- Moving, merging and joining tables
- Splitting a bill
- Clearing a table
- Waiter sections
- Bookings and the Reserved status
- Ordering from the table
- Setting up table QR codes
- What the guest does
- Accepting a QR order
- How a QR order closes
- Table orders only
- When a code stops working
- The Tables report
- Limits and things to be careful about
Table management puts your dining room on screen. You draw each floor once, with the tables where they really stand, and every screen then shows a live floor: which tables are free, seated, waiting for the bill or being cleaned, how long each party has been there, and what needs someone right now. From the floor you seat parties, move them, merge and split bills, and push tables together for a big group. Guests can also order from a QR code on their table.
Needs the Kitchen Orders & Tables add-on (₱400 per branch each month), which also covers the Kitchen Display System. It is in the Kitchen Pack (₱1,399 a month) and the Everything Bundle (₱2,999 a month). See Plans & add-ons.
There is also a Table Management switch under Dining in Settings → Features, on by default for food-and-beverage stores.
What needs which add-on
| Part | What it needs |
|---|---|
| Floors, the floor plan designer, the live floor, moving, merging, joining and splitting bills, Bill out, waiter sections, opening the POS on the floor | Kitchen Orders & Tables |
| Ordering from a table's QR code | Kitchen Orders & Tables, plus your Online Store switched on. The Online Store has no add-on of its own — it comes with any paid add-on, so Kitchen Orders & Tables is enough |
| The Tables report | Kitchen Orders & Tables shows today. Other dates also need the Business Reports add-on (₱400 per branch each month). The Kitchen Pack includes both |
| Bookings shown on tables | A booking made in Appointments, which needs the Appointments & Bookings add-on (₱400 per branch each month) |
| Food ready on the floor, and the Kitchen view | The Kitchen Display in use: the floor knows a dish is ready when the kitchen marks it ready |
Where each part works
| Web back office | Kassly app (phone, tablet) | Kassly Desktop | |
|---|---|---|---|
| Draw floors and tables | Yes — the floor plan designer | No | No |
| See the live floor | Yes — Tables | Yes | Yes |
| Seat a party, take orders, add rounds | No | Yes | Yes |
| Move, merge, join, take a table off a bill | Yes | Yes | Yes |
| Print the bill (Bill out) | No — it shows Bill out, but cannot print | Yes | Yes |
| Split a bill | No | Yes | Yes |
| Take payment | No | Yes | Yes |
| Accept or decline a table's QR order | Yes | Yes | Yes |
| Put tables in waiter sections | Yes | No | No |
| Choose what the POS opens on | The store's default | This device's choice | This device's choice |
| The Tables report | Yes | No | No |
The floor needs Kassly 1.31.0 or later on Android and iOS, or Kassly Desktop 1.13.0 or later. Update the app if you do not see it.
The web back office has no POS — in a browser, the POS page asks you to install the app. On the web, the live floor is for watching the room and doing the moves above; seating guests and taking money happen in the app.
The screens
| Screen | Where | Who |
|---|---|---|
| Tables | Dining → Tables, /app/tables |
Everyone who can use the POS |
| Floor plan | Settings → Floor Plan, /app/tables/designer |
Set Up Tables & Floor Plan permission |
| Table QR codes | QR codes on Tables, /app/tables/qr |
Set Up Tables & Floor Plan permission |
| Manage Tables | Manage on Tables, /app/tables/manage |
Everyone can read the list; adding, editing and deleting need Set Up Tables & Floor Plan |
| Tables report | Reports → Tables, /app/reports/tables |
Owners and managers |
| Dining settings | Settings → Store Settings, the Dining card | Edit Store Settings permission |
Owners and managers have Set Up Tables & Floor Plan; cashiers do not. The moves on the live floor — move, merge, join, mark ready — are open to everyone who can use the POS. See Custom roles.
Setting up your tables
Draw them in the floor plan designer. That is the quickest way: it has templates, duplicates tables with the next number, and puts each table where it really stands, which the live floor needs.
Manage Tables is the plain list, for a quick change to one table. Press Add Table:
| Field | Notes |
|---|---|
| Branch | Only shown when you have more than one. It cannot be changed afterwards |
| Table Number | Up to 20 characters, and it does not have to be a number — "T1", "Bar 1" and "Outdoor 3" are all fine. Unique within a branch |
| Capacity | How many people it seats. Between 1 and 100, default 4 |
| Display Order | Where it sits in the list and in the Grid view |
| Section (optional) | Up to 50 characters. Once you use the designer, a table's section is its floor's name, and the designer replaces whatever you type here |
| Active | Turn a table off to take it off the floor without deleting it |
A table added here is not drawn on any floor. It waits under Not on a floor yet in the designer, and the Tables page shows a reminder, "1 table not on a floor yet", that takes you there.
Manage Tables loads the first 100 tables only, with no page control. The list still shows the stored status, so a seated table reads Occupied there.
The live floor
Tables draws each floor as you drew it, with a tab per floor. Each tab shows
free tables over total (3/12), and a red dot when something on another floor
needs attention. The line under the title counts the whole branch: available,
seated, bill out, reserved, cleaning.
Tables are coloured by status:
| Status | Colour | Means |
|---|---|---|
| Available | Green | Free |
| Seated | Blue | A bill is open on it |
| Bill out | Violet | The bill has been printed and is waiting for payment. See Bill out |
| Reserved | Amber | Held. See Bookings and the Reserved status |
| Cleaning | Grey | Paid or moved, not yet wiped down |
Chairs fill in as guests sit, from the party size on the bill. Small badges on a table flag a waiting QR order, food ready, Bill out, a party past your turn time and a booking that is due.
Map and Grid switch between the drawing and a grid of cards. Before you have drawn anything, only the grid shows.
The floor updates live: when an app seats a table, a dish is marked ready or a bill is paid, the table changes without a refresh, and saving the designer redraws the floor. It also reloads itself every 15 seconds as a safety net, so a table added on Manage Tables shows up within that time.
Views
The buttons above the floor change what the colours mean.
| View | Colours tables by |
|---|---|
| Status | The statuses above |
| Time | How long the party has sat against your turn time target: under three-quarters of it, nearly there, or past it |
| Kitchen | Where the food is: waiting, being prepared, ready, served. Only meaningful if you use the Kitchen Display |
| Spend | Spend per guest so far: under ₱250, ₱250–₱399, ₱400–₱599, or ₱600 and over. Without a party size it is per bill |
| Waiters | Tables in someone's section, with the waiter's first name on the table. Your own tables are outlined |
The web and Kassly Desktop have all five views. The phone and tablet app has the first four, and My tables instead of Waiters — see Waiter sections.
The Floor pulse
With no table selected, the panel beside the floor is the Floor pulse: what needs a person right now, most urgent first. When nothing does, it says "All calm".
| Item | Shows when | Button |
|---|---|---|
| Table 8 · New QR order | A guest's QR order is waiting to be accepted. Always first | Review |
| Table 3 · Food ready | The kitchen has marked a dish on the bill ready to run | Open |
| Table 5 · Bill out 12m | The bill was printed and is not paid yet. Moves up the list after 10 minutes | Open |
| Table 2 · Seated 1h 10m, "Past the turn target" | The party has sat longer than your turn time target | Open |
| A guest's name and time, "Arriving in 20m" | A booking on the table is due within 30 minutes, or up to 20 minutes late | Open |
| Table 6 · Cleaning 7m | The table has been on Cleaning for 5 minutes or more | Mark ready |
The phone app shows the same items as a strip above the floor.
The table panel
Click a table to open its panel. For a seated table you see the guests, how long they have sat, the bill so far, each item with its kitchen status, and the moves: Move, Merge, Join tables, and Take off bill when the bill covers more than one table. A Cleaning table has Mark ready; a Reserved one has Release table. A table with a waiting QR order shows the order first, with Accept and Decline.
On the web the panel and the Floor pulse need a window at least tablet-wide; on a narrow window they are hidden.
Seating guests and sending orders
Seating happens in the Kassly app or Kassly Desktop.
- Seat a party on the floor asks how many people, then lights up the free tables that fit best — never one more than 4 seats too big — and can suggest two neighbouring tables to push together for a bigger party. Tables with a booking due within 45 minutes, or a QR order waiting, are skipped.
- Seat this table on a free table's panel seats it directly.
- With Ask for party size when seating on, the app asks "How many guests?" first. You can Skip it.
The menu then opens bound to that table. When you send the order, Kassly:
- Sets the table to Seated and links the bill to it — or to every table, if you seated the party across two
- Writes the table number onto the sale, so it shows on the receipt and in
reports. Two tables read
10+11 - Sends the order to the kitchen. See Kitchen Display System
One table holds one bill. If the table already has an open bill, sending a second order to it is refused with a message that the table already has an open order. Tap the seated table and use Add items instead: each round goes to the kitchen as it is added, and the table's total goes up.
The party size belongs to the bill, not the table. It is what the kitchen
screen shows as Table T1 · 4 pax, and what fills the chairs on the floor.
Opening the POS on the floor
By default the POS opens on the menu. A restaurant can make it open on the live floor instead. Set the store's default in Settings → Store Settings, on the Dining card:
| Setting | Default | What it does |
|---|---|---|
| POS start screen | Products | Products opens on the menu. Floor plan opens on your live floor: tap a table to seat guests and order |
| Ask for party size when seating | On | Fills the chairs on the floor and prints the guest count on the kitchen ticket |
| Go back to the floor after sending an order | On | Off keeps the menu open so the waiter can add another round right away |
| Show bookings on tables | On | Tables booked within 2 hours show the time, and the floor warns 30 minutes before guests arrive |
| Turn time target | 60 min | 45, 60, 75, 90 or 120 minutes. Drives the Time view and the "past the turn target" alert |
The Dining card shows for food-and-beverage stores, or when the Table Management switch is on. Without the Kitchen Orders & Tables add-on it is locked, with "Add Table Management to open the POS on your floor plan."
Each device can choose for itself. In the Kassly app or Kassly Desktop, go to Settings → POS start screen: Follow the store setting, Products or Floor plan. The counter can stay on Products while the waiters' tablets open on the floor.
When a device opens on the floor:
- Tapping a table opens the menu for that table. Takeout goes straight to the menu.
- After Send, the POS goes back to the floor — or keeps the table open, if you turned Go back to the floor after sending an order off. After a sale is paid, it goes back to the floor.
- A Floor button in the POS header takes you back. It refuses while there are items you have not sent: "Send or clear the order before going back to the floor."
- On a phone or tablet, the separate Tables tab is hidden, so there is one place to work from.
A device set to the floor opens on Products anyway when your store does not have the add-on, or when no table is drawn on a floor yet. The setting says which: "No tables are on a floor yet, so this device opens Products. Draw the floor in the web back office."
Bill out
When guests ask for the bill, open the table's bill in the app and print it: Print Bill on a phone or tablet, Print bill on Desktop. Once it prints, the table turns violet and reads Bill out on every screen, and its panel says "Bill printed 4m ago, waiting for payment." The phone app needs a connected receipt printer for this.
Bill out clears by itself when a new round is added, when the bill is merged or split, and when it is paid.
Moving, merging and joining tables
All four moves start from a seated table's panel, in the app or on the web. On the web you can also drag: drop a seated table on a free one to move the party, or on another seated table to merge the bills.
| Move | What it does |
|---|---|
| Move | Moves the party and its bill to a free table. The bill takes the new table's number, and the tables it left go to Cleaning. On the web, tapping a seated table instead merges the bills |
| Merge | Puts this table's whole bill onto another table's bill. Tap the table whose bill should take the items. Party sizes add up, and this table goes to Cleaning |
| Join tables | Puts free tables onto this table's bill, for a party spreading out. Pick the free tables and confirm — up to 10 at a time. The bill reads 10+11, and paying it frees every table |
| Take off bill | Takes one table off a joined bill. The bill stays with the others, and this table goes to Cleaning |
If you use the Kitchen Display, every move re-sends the kitchen ticket so it shows the new table.
A few rules:
- Moves stay within one branch.
- You cannot move a party onto a table that already has an open bill — merge instead.
- Merge refuses a bill with a discount or a payment on it, on either side: manual, loyalty points or SC/PWD. Remove the discount first, or settle that bill on its own.
- The emptied bill is voided with the note "Merged into Table 7's bill." and a total of ₱0. It never had a receipt number, so your receipt numbering is not affected.
- Moves need a connection.
Splitting a bill
Split moves some items onto a new bill, so part of the table can pay on its own. It is in the Kassly app and Kassly Desktop, on the table's bill: Split on a phone or tablet, Split bill on Desktop.
- In Split the bill, pick the items and how many of each go on the new bill.
- Press Split and take payment. The new bill opens in the POS for payment, with the same table number. The rest stays on the table.
What to expect:
- Split moves items; it does not divide a bill evenly. There is no "split three ways". To share one item, move part of its quantity.
- A weighed item, or one with serial numbers, moves whole.
- You cannot split off the whole bill — "That is the whole bill. Check it out as it is instead."
- A bill with a discount or a payment on it cannot be split. Settle or remove it first.
- A fixed service charge stays on the original bill.
- The web cannot split, because it cannot take the payment.
Clearing a table
| What happened | Every table on the bill becomes |
|---|---|
| The bill was paid | Cleaning |
| The sale was voided | Available |
| The party was moved or merged away, or the table was taken off a joined bill | Cleaning |
| You pressed Clear on the table's bill in the app (Clear table on Desktop) | Cleaning |
| You pressed Mark ready (on the web or Desktop), or tapped the Cleaning table in the phone app | Available |
| You pressed Release table on a Reserved table | Available |
Paying a bill does not free the table. It goes to Cleaning, and somebody has to mark it ready before it can be used again. That is the intended flow — the table is not ready until it has been wiped down. The Floor pulse lists any table left on Cleaning for 5 minutes, with a Mark ready button, so the floor stays honest on a busy night.
Waiter sections
A manager can put tables in a waiter's section at the start of a shift: on the web Tables page, open a table and pick a name under Waiter section, or set it in the floor plan designer. Nobody yet clears it. The waiter must work at that branch.
What each waiter sees:
- Phone and tablet app: a My tables button above the floor, once you have at least one table. It narrows the floor and the Floor pulse to your tables.
- Kassly Desktop and the web: the Waiters view, with each waiter's name on their tables and your own outlined.
A section is a label, not a lock. Anyone can still seat, move or bill a table in someone else's section. Section changes are not audit-logged.
Bookings and the Reserved status
If you take table bookings in Appointments and pick a table on the booking, the floor shows it. With Show bookings on tables on, a free table booked within the next 2 hours shows the booking time, and the Floor pulse warns 30 minutes before the guests are due. Whatever that setting, Seat a party stops offering the table 45 minutes before the booking.
A booking does not change the table's status. Reserved is still a status nothing in Kassly sets on its own: no booking, timer or screen puts a table on Reserved. If one is Reserved, Release table frees it.
Ordering from the table
Each table can have its own QR code. A guest scans it, orders from your menu on their phone, and the order lands on that table's bill once a staff member accepts it.
Setting up table QR codes
- Switch on your Online Store. Table orders run through it, and guests can only order what you have put on it. See Setting up your Online Store.
- On Tables, press QR codes (in the designer it is Table QR codes). There is one card per active table, with the floor name, the table number, the code, "Scan to order" and "Pay with your bill at the counter".
- Press Print sheet, cut the cards out and put each on its table.
If the Online Store is off, the page says "Turn on the Online Store first. Table codes open your store, so they only work while it is live.", and Print sheet is greyed out.
What the guest does
The code opens your store for that table. The guest picks items, then sees Order for Table 8: their Name, an optional Mobile number and an optional Note for the kitchen. They press Send order for Table 8.
There is no address, no email code, no minimum order and no payment on this page: "Nothing is paid on this page. Your order joins Table 8's bill, and you pay [your store] when you ask for the bill."
Accepting a QR order
The table gets an orange badge, and "Table 8 · New QR order" goes to the top of the Floor pulse. Open the table, check the items, and press:
- Accept — the order becomes a round on the table's open bill and goes to the kitchen. If the table was free, it opens a new bill and the table is seated.
- Decline — type a reason. The guest sees it.
You can also accept it from the Online Orders inbox, which shows the table instead of a phone number. See Online orders.
If you switched on Accept orders automatically in the Online Store settings, it still never accepts a free table's first QR order — otherwise anyone with a photo of the code could send food to your kitchen from home. Once the table is seated, later rounds from it go straight in.
Orders nobody accepts expire after the time in Expire unaccepted orders after (minutes), like any online order.
How a QR order closes
A QR order is a round on the table's bill, so it ends with the bill:
| What happens to the bill | The QR order becomes |
|---|---|
| Paid at the POS | Completed |
| Voided | Cancelled — "The table's bill was voided." |
| Merged into another table's bill | It moves with its items |
Once accepted, the inbox reads "On Table 5's bill. It closes when the bill is paid at the POS." and does not offer Complete or Cancel: completing it there would have charged the whole table as one payment.
Table orders only
To take orders at the table but not online, turn off both Offer delivery and Offer pickup in the Online Store settings. Your store page still shows the menu, but a visitor who did not scan a table is asked to: "Scan the QR code on your table to order."
When a code stops working
Press New code on a table's card if a guest walked off with it. The old printed code stops working at once; print the new card. A code also stops working when its table is switched off or deleted, or when the Kitchen Orders & Tables add-on lapses. The guest then sees "This table code is no longer valid. Ask a staff member for help."
The Tables report
Reports → Tables shows how hard each table works over a period. It is under Sales & Revenue on the Reports page, for owners and managers.
Across the top: ₱ per seat-hour, Average seated time, Bills · guests and Dine-in revenue. Below that, a plain-language note — which table earns the most per seat, and which tables usually seat fewer than 60% of their chairs — and a row per table, best ₱ per seat-hour first.
| Column | How it is worked out |
|---|---|
| Seats | The table's seats. Joined tables (10+11) are one row, with their seats added |
| Bills | Paid dine-in bills with that table number, by the date they were paid |
| Guests | The party sizes entered on those bills |
| Fill rate | Guests ÷ seats, averaged over the bills that have a party size |
| Avg seated | From when the bill was opened to when it was paid. A bill left open longer than 8 hours counts as 8 |
| Revenue | The bills' totals |
| ₱ per seat-hour | Revenue ÷ (seats × hours the table was in use) |
₱ per seat-hour is the number to act on: a two-seater that turns quickly often earns more per seat than the six-seater by the door that keeps seating couples.
CSV downloads the same rows, with the floor, branch and seat-hours added. Without the Business Reports add-on, the report shows today only.
The report matches bills to tables by the table number written on each bill. After you renumber tables, older bills stay under their old numbers — counted against whichever table has that number now, or with no seat count if none does.
Limits and things to be careful about
- The web cannot seat, print or take payment. Use the Kassly app or Kassly Desktop for that.
- There is no "split evenly". Split moves items; see Splitting a bill.
- Discounts and payments block merging and splitting. Merge and split first, then apply the discount.
- Kassly will not delete a table with an open bill, from Manage Tables or the designer. Manage Tables only says "Failed to delete table" — settle or move the bill first. Use Active off instead of deleting whenever you might want the table back.
- What is audit-logged: moving a party, merging bills and splitting a bill are recorded in Audit logs. Joining tables, taking one off a bill, waiter sections, and creating, editing or deleting tables and floors are not.
- The floor needs a connection for most things. Offline, the app keeps the last floor it saw, but sending a dine-in order, moving, merging, joining, splitting and accepting QR orders all need a connection. See What works offline.
- Bookings come from Appointments only. There is no separate reservation book on the floor.