Menu & inventory
Categories, items, photos, extras, stock counts and the Excel bulk import.
Read the walkthrough script for this guide
- Menu, under 'Set it up' in the left-hand bar. Three buttons across the top: Inventory, Manage categories, and Bulk import from Excel. Everything else is the list itself.
- Manage categories first — a category needs to exist before an item can go in it. Name and a Sort number; lower numbers come first, and that is the running order of the whole menu.
- Now add an item: name, price, category, description. There is a Sort box here too — leave it blank and the item goes last in its category, so you can add fast and arrange later.
- Photos: press Upload a photo and pick anything. It is squared to eight hundred by eight hundred and compressed on your own device before it ever leaves it. You never need to edit a picture first.
- Choices and extras have their own section in the item form. Press 'Add a group', name it Spice level, add Regular and Spicy, and leave the prices blank because neither costs extra. Tick 'Must pick' to force an answer.
- Add a second group called Extras, set Max picks to three, and give each choice its own price. The arrows reorder groups and choices, and the order you set is the order customers see.
- Watch the customer side: tapping the item opens a popup, required groups must be answered before Add works, and every choice re-prices live. Then the same rules are checked again on our side at checkout, so nothing can be bypassed from a phone.
- Each item row carries an Available or Sold-out pill. That is the manual switch — one tap, on or off, no counting involved.
- Inventory is the other kind. Open the Inventory page, type a count, press Track stock. Every order counts down and the item flips itself to sold out at zero; a cancelled order puts the units back and brings it back on sale.
- Set an alert level and one WhatsApp lands in your managers' group the moment an order takes you below it — once, on the crossing, not every order after.
- Sizes and flavours that run out separately get their own counts: the same Track, Set and Restock controls sit under the item, per option.
- At the bottom, Stock movements: when, item, change, reason and note. A count that looks wrong can always be traced to the order or the person that moved it.
- Big menu? Download the Excel template, fill one row per item, press Check file. You get a preview before anything saves — the count of valid rows and every problem listed by row number.
- Then choose the mode, and this is the one to get right. 'Add to current menu' adds a second copy of anything already there. 'Replace menu' hides the whole current menu and rebuilds it from the file. Nothing is deleted either way, so past orders keep their history.
- One rule to remember above all the others: your customer's cart is re-priced against the LIVE menu at the moment they order. Sold-out items, removed dishes and old prices can never slip through.
Step by step
Add an item with extras and choices
One item, one required choice group and one capped extras group, in a single form.
- Open Menu. If the item needs a new section, click 'Manage categories', fill Name and Sort, press 'Add category' — only visible categories appear in the item form.
- Scroll to the 'Add item' card, fill Item name, Price and the category dropdown. Description optional.
- Under 'Choices and extras', press '+ Add a group'. Name it
Spice level, tick 'Must pick' so the customer has to answer, and leave 'Max picks' at 1. Fill the two choices —RegularandSpicy— leaving both prices blank, because neither costs extra. - Press '+ Add a group' again for
Extras. Leave 'Must pick' unticked, set 'Max picks' to 3, then '+ Add a choice' twice:Extra Cheesepriced 3 andOlivespriced 2. The arrows reorder groups and choices, and the order you set is the order customers see. - Press 'Add item'. Every rule is re-checked on our server, not just in your browser — a duplicate group name, a group with no choices, or a negative price is refused with the exact problem named, and nothing half-saves.
- Check your customer page: required groups must be answered before Add works, prices update per pick, and the same rules are enforced again server-side at checkout.
- Edit later via 'Edit' under the item. Renaming a choice is safe — it keeps the same underlying record, so a stock count set on the Inventory page comes with it. Removing a choice and adding another is a genuinely different choice, and it starts fresh.
Track stock and get a low-stock warning
Turn a dish into a running count and have WhatsApp warn you before it runs out.
- Go to Menu → 'Inventory' (top right, beside 'Manage categories' and 'Bulk import (Excel)').
- Find the item (untracked reads 'Stock: —'), type your count into 'Initial count', press 'Track stock'.
- The row shows 'N in stock' with three controls: 'Set' writes an exact count, '+ Restock' adds, 'Set alert' holds your warning level.
- Type a number into the alert box and press 'Set alert' — one WhatsApp lands in your managers' group the moment an order crosses below it (once, on the crossing). Needs a Managers group under Settings → WhatsApp.
- For sizes or flavours that run out separately, use the per-option Track/Set/+ controls under the item.
- Verify at the bottom under 'Stock movements' — your adjustment appears with reason
adjust; rows tint amber below the alert level and red at zero.
Replace your whole menu from an Excel file
The safe way to load a big menu, with a preview before anything is saved.
- Menu → 'Bulk import (Excel)' → download the template. The sheet must be named
Menu; the 'How To' tab has the full guide. - One row per item: Category, Item Name and Price required; Description, Options, Available and Image Filename optional. Periods for decimals (
24.50), and the whole options structure in ONE cell using the one-line format —Spice Level(required): Regular|Spicy; Extras(max=3): Extra Cheese+3|Olives+2. The template's 'How To' sheet documents it in full. This format lives only here; the item form uses ordinary fields. - Save as .xlsx (≤4 MB), choose the file, press 'Check file' — nothing saves yet.
- Read the preview: valid-row count plus every problem as
Row 12 · Price: …. Problem rows are SKIPPED, not fatal — fix and re-upload if you want them. - Choose the mode: 'Add to current menu' (an item you already have is added AGAIN as a copy) or 'Replace menu' (hides the current menu, rebuilds from the file). Nothing is deleted either way.
- Press the confirm button; the result line reports categories, items, option groups and options landed.
Turn a dish into a mystery box
A flat-price item where the kitchen chooses what goes in — set up safely.
- Go to Marketing → Mystery item and read the 'Before you use model 3' panel — it says what the software can and cannot promise about allergens.
- Work down the Allergen declarations first: tick what an item contains and press 'Declare' — pressing Declare with nothing ticked means 'checked, contains none of the fourteen'. 'Clear declaration' means nobody has stated anything, and an undeclared item is never put in a model-3 box.
- Under 'Turn an item into a mystery box', pick the menu item that becomes the box — it keeps its own name, price and stock.
- Choose the model: 1 fixed pool with combined allergens, 2 blanket warning, 3 customer exclusions at checkout.
- Tick the dishes that may end up inside (model 1 needs at least one; 2 and 3 may be left empty = any menu item). Only available, in-stock items are ever offered.
- Optionally add a storefront line, press 'Make it a mystery box'. Undo any time with 'Stop being a mystery box'.
Common questions
How do I add categories and items?
Menu page → Add category, then Add item inside it: name, price and optional description. Items appear on your customer page instantly; deactivate an item to hide it without deleting it. Both categories and items have a Sort box (lower numbers first), so you control the running order of the whole menu.
How do I change the order my items appear in?
Every item has a Sort box — on the Add item form, and inside Edit on any existing item. Lower numbers come first within the category, and two items sharing a number fall back to alphabetical. Leave the box blank when adding and the item goes last in its category, so you can add first and arrange later. Categories have the same box on Menu → Manage categories, and the two work together: category sort decides the order of the sections, item sort decides the order inside each one. Your customer page updates the moment you save.
How do item photos work?
Every item form has a Photo control: press 'Upload a photo', pick any image, and it is squared to 800×800 and compressed on your own device before upload (WebP where your browser can make one, JPEG otherwise — always well under 300 KB), then attached when you save the item. You can also paste a hosted image URL instead, and the Excel bulk import's Image Filename column still takes full web addresses. Clearing the field and saving removes the photo.
How do extras like 'extra cheese' or 'spicy' work?
Each item can carry option groups — for example a required 'Spice Level' with Regular/Spicy, and an 'Extras' group capped at 3 picks where Extra Cheese adds 3.00. Customers see them in the item popup: required groups must be answered before Add works, and prices update live. The same rules are enforced again on our server at checkout, so nobody can bypass them.
How do I enter option groups?
In the item form, under 'Choices and extras'. Press 'Add a group', type its name (for example Spice level), then add a choice for each answer with the extra charge beside it — leave the price blank when a choice costs nothing more. 'Must pick' makes the customer answer before they can add the item, and 'Max picks' caps how many they may choose. Groups and choices can be reordered with the arrows, and the order you set is the order customers see. Everything is checked again on our server when you save, with a specific message if something is wrong rather than a guess.
Do I still have to type that `Spice Level(required): Regular|Spicy` format?
Not in the item form — that was replaced by real fields. The one-line format still exists in exactly one place, the Excel bulk import, because a spreadsheet cell has to carry a whole group structure in one box. The template's 'How To' sheet documents it in full. Anything you build with the form can be exported, edited in Excel and imported back.
Can I rename an option without losing anything?
In the item form, yes — renaming a choice keeps the same underlying record, so its stock count comes with it. Deleting a choice and adding a new one does not: that is genuinely a different choice and it starts fresh. Through the Excel import the answer is different, because a spreadsheet carries no record identity: a 'replace' import rebuilds the menu, so every option is new and per-option stock starts again.
How does inventory tracking work?
Optional, per item and even per option. Give an item a stock count on the Inventory page; every order decrements it, and at zero the item flips to sold out by itself. Every movement (sale, cancel-restore, manual adjustment) is recorded in a ledger you can inspect.
Will I be warned before something sells out?
Yes — a low-stock WhatsApp alert is sent when the count crosses your threshold. It fires on the crossing only, so you get one timely warning, not a nagging repeat every order.
What do customers see when something is nearly gone?
An 'only N left' note on the item across all page designs. If a stale cart still holds an item that just sold out, checkout refuses politely — '"Item" just sold out — please adjust your cart' — and nothing is charged.
Does cancelling an order return its stock?
Yes. Cancelling restores the tracked stock of every line (items and options), and an item that had auto-flipped to sold out at zero comes back on sale automatically.
How does the Excel (XLSX) import work?
Download the template, fill one row per item (category, name, price, description, and options in the one-line format the template's 'How To' sheet documents), and upload. Choose 'append' to add to your current menu, or 'replace' to swap the whole menu in one move — replace deactivates the old menu and inserts the new one.
Anything to know about 'replace' mode?
Replace treats the upload as a brand-new menu — old items are retired rather than edited. That also means a cheaper price in a re-uploaded menu is a new item's price, not a 'price drop' on the old item, so price-drop notifications deliberately do not fire from an import.
Can I have items that only some customers can see?
Yes — secret menu items are hidden from the normal page and unlock through a special link you share (for example with your regulars or a promotion). There is also a wallet-exclusive item that only customers carrying your loyalty card in their phone wallet can order — it shows locked to everyone else, which does the teasing for you.
What is the mystery item?
A menu line with a hidden identity — the customer orders 'the mystery box' at a set price and the kitchen decides what goes in it. Great for clearing stock playfully; you control its price and availability like any other item.
What is the chef's rotation?
A rotating featured dish — the system highlights a different pick from your chosen list so the page always has something 'today only'. You choose how picks rotate; the highlight updates automatically.
What is bring-it-back voting?
Retired dishes can be put to a customer vote. Past customers get a voting link, votes are weighted by how often someone has actually ordered from you, and you see the tally — a low-risk way to decide what returns to the menu.
Can customers be told when a price drops?
Yes — when you lower a price in the menu editor, customers who ordered that dish can be notified (you control the window and frequency). Note it fires from a real price edit on an existing item, not from re-uploading a menu file.
Why did my customer's cart show an item that I had just removed?
Their page was loaded before your change. The moment they try to order, the server re-checks everything against the live menu — removed items, changed prices and sold-out stock are all caught, the customer gets a clear message, and nothing wrong is ever charged.
What happens if I import the same Excel file twice?
In 'Add to current menu' mode you get a SECOND COPY of every item — Add never updates or removes what is already there, and the screen warns you in amber before you confirm. Re-uploading a corrected sheet should use 'Replace menu' instead: it hides your entire current menu and rebuilds it from the file. Nothing is deleted either way, so past orders keep their history.
Why did my import create a second category with the same name?
In Add mode a category is reused only when the name in your sheet matches a VISIBLE category exactly — capitalisation and spacing included. 'Burgers' and 'burgers ' are two different categories to the importer, and a hidden category is never reused. Copy the name straight from Manage categories if you want rows to land in an existing section.
Some rows in my import had errors — did the whole thing stop?
No. 'Check file' gives a preview: the count of valid rows and every problem listed as Row 12 · Price: …. If you confirm, the valid rows import and the problem rows are left out — the screen says so. Fix those rows in the sheet and upload again.
Why won't the system let me delete a category?
Delete only unlocks once a category is empty — until then the page says 'Delete unlocks when the category is empty'. Move or delete its items first, or simply untick 'visible', which takes the category and its items off your customer page while keeping everything.
Where can I see why a stock number changed?
At the bottom of the Inventory page under 'Stock movements' — when, item, change, reason and note, newest first, 50 per page. Reasons are order, cancel, restock and adjust, so a count that looks wrong can always be traced to the order or the person that moved it.
How does the system pick the Chef's pick when I let it choose?
It picks the dish that has gone longest without being featured — and among dishes that never had a turn, the one that sold least in the last 90 days. Every dish gets a turn before any gets a second one, and it deliberately does not feature your bestseller. The other modes are 'I choose it myself' and 'Work through a list I set'.
Why hasn't my price drop been announced yet?
Nothing goes out until the new price has stood untouched for the waiting period you set (default 24 hours) — so a corrected typo never reaches a customer. The drop must also clear your minimum percentage (default 10%) and be worth at least AED 1.00. The 'Recent price changes' list shows each change as 'still waiting', 'told N customers' or 'no message sent'.
Which mystery-box model should I choose?
Model 1 nominates a fixed pool of dishes and prints the pool's combined allergens; model 2 allows any dish with a blanket 'we cannot guarantee allergens' warning; model 3 lets the customer state what they cannot eat and picks around it. Model 3 is a food-safety promise: only dishes explicitly DECLARED free of the excluded allergen are offered — an undeclared dish never — and if nothing qualifies, the order is refused rather than falling back to 'pick anything'.
What's the difference between Declare and Clear declaration on the allergens list?
Two different statements. 'Declare' with nothing ticked means 'I checked this item and it contains none of the fourteen'; 'Clear declaration' means nobody has said anything at all. A model-3 mystery box will never offer an undeclared item — not-stated is not the same as contains-nothing.
