Point of sale

QR ordering — set up table & room codes

QR ordering lets a customer scan a sticker on their table (or in their room), see your menu on their own phone, and send an order straight to your till — no app, no waiter needed. This page is where you create the QR codes and print the stickers. Once a customer sends an order, it shows up for the cashier under Orders on the Point of Sale screen.

Before you start

  • You need to be an Administrator (this is a setup screen).
  • Your tables must already exist (Setup → tables) for table codes, and your rooms must exist for room codes.
  • Your POS Settings should have a selling/delivering department set, because that's what decides which items (and prices) appear on the customer's menu. If the menu looks empty when you test it, check POS Settings first.

Steps

  1. Go to Setup → QR Ordering Codes.
  2. Click New QR code.
  3. Choose the Kind — Table or Room.
  4. Pick the specific table or room the sticker will go on.
  5. (Optional) Choose Route through till if you want this code to use a particular till's menu/department instead of the tenant default.
  6. (Optional) Tick Require online prepayment if the customer should pay on their phone (via Paystack) before the order reaches the cashier. Leave it off for pay-at-counter (dine-in) or charge-to-folio (room service).
  7. Click Create. A QR code is generated immediately.
  8. Click Print stickers (top of the list) to open the printable sheet, then press Print. Cut them out and stick each one on its table / in its room.

Setting up several at once? Use Bulk create (top of the list) instead of adding codes one by one. Choose Rooms or Tables, then tick the ones you want a code for — every room/table without a code is pre-ticked, and any that already have one are shown as Has code and skipped. Use All / None or the search box to pick quickly, optionally set a till and prepayment, then click Generate. Then Print stickers as usual.

You can change a code's till routing or its prepayment setting later — open the code from the list and use Route through till / Require online prepayment, then Save. The printed sticker keeps working (you don't reissue it).

Changing many at once? Use Bulk update (top of the list). Tick which setting to change — Route through till and/or Require online prepayment — then tick the codes to apply it to (filter by Rooms/Tables or search), and click Update. It changes them all without reissuing any stickers.

Tips

  • The code is permanent — print it once and it keeps working. You don't make a new one each day.
  • To reprint a single sticker, click the row, then Print sticker.
  • Each sticker says "Scan to order" with the table or room name above the QR, so customers (and you) can tell them apart.
  • Use Route through till for venues with different menus per area — e.g. a Patio Bar till that only sells drinks.

Curate what shows on the menu (important)

By default the QR menu shows everything your POS sells — which for many businesses includes back-office items (consumables, spare parts, services) that customers shouldn't order. To show customers a clean food/drink menu:

  1. Go to Setup → POS Tills and create a till, e.g. "QR Menu".
  2. Go to Setup → POS Overrides, add an override for that till, and in its menu categories list tick only the food/drink categories you want customers to see (leave out electrical, laundry, consumables, etc.).
  3. Back in QR Ordering Codes, open each table/room code and set Route through till → QR Menu, then Save.

Now those codes show only your curated categories — without changing what the cashier POS sells. (Items with no price are always hidden from the customer menu automatically.)

Make the menu look great (photos)

Add photos under Inventory → Menu Photos & Descriptions — search for an item, click Upload, done. Photos are stored in the cloud (not the database) so they don't slow anything down. The same screen lets AI write item descriptions.

How the customer's menu looks is set under POS Settings → QR ordering menu layout:

  • Auto (default) — shows big photo cards when most of your items have a photo, and switches to a clean text list (name + description + price) when most don't. This way a menu without many pictures never shows a screen full of empty placeholders.
  • Photo grid — always use picture cards (best when you've added photos to most items).
  • Text list — always use the compact list; a small thumbnail still appears next to any item that does have a photo.

If your menu looks too bare with placeholders, you either need more photos (Menu Photos & Descriptions, including the AI ✨ helper) or simply leave the layout on Auto / set it to Text list.

Room codes — the guest surname check

Because a room sticker stays in the room for good, anyone who has seen it (a past guest, or someone with a photo of it) could otherwise order onto the bill of whoever is staying there now. So, by default, a guest who scans a room code must first type their surname, and it must match the guest checked into that room. The order then goes on that guest's folio.

You can switch this check off under Setup → Preferences → Hotel / Reservation → Room QR Ordering → Require Guest Surname For Room QR Orders. Only do this if you accept the risk above. With the check off:

  • The guest goes straight to the menu, without typing a name.
  • An order is still refused when nobody is checked into the room.
  • If one guest is checked into the room, the order is linked to that guest's folio automatically.
  • If several guests share the room, the order arrives without a guest; the cashier picks which folio to charge when settling it.

Stock availability

Out-of-stock items are hidden from the customer menu automatically so nobody orders what you can't deliver — this includes composite/combo items whose ingredients have run out. This follows your Preferences → "Allow stock delivery even if no stock" setting: leave it off (the default) to hide out-of-stock items; turn it on to let customers order everything regardless of stock (back-order style).

Common problems

  • The customer's menu is empty → the resolved POS Settings has no selling / delivering department, or its category filter excludes everything. Fix it in Setup → POS Settings (or the per-till override).
  • "This QR code is not active" when scanning → the code was retired. Retired codes stop working on purpose. Create a new one and reprint.
  • The QR shows but the link looks wrong / blank → your workspace web address isn't configured for this environment. Orders still stage once the address is set; contact support if it persists.
  • A guest says the room code asks for a surname and theirs "doesn't match" → they must type the surname exactly as it is on their check-in (capital letters don't matter). Check the name on the reception form. If several people share the room, any of their surnames works.
  • Room orders arrive with no guest attached → the surname check is off and more than one guest is checked into the room. Pick the right folio when you settle the order.
  • I deleted a code by mistake → deleting only retires it (it's never truly removed), but a retired code can't be un-retired — just create a new one for that table/room and reprint the sticker.

See it working on your own business

Start a 45-day free trial — no card needed — and follow this guide in your own practice company.