Restaurant Permissions and Troubleshooting
If a menu or action is missing, it's almost always one of two things: the module isn't licensed, or the user's role doesn't have the right permission. All Restaurant permissions are seeded to Company Admin automatically — assign the rest under Settings → Users & roles.
Permissions, in plain language
| Permission | What it unlocks |
|---|---|
| View restaurant | Recipes, categories, costing, the dashboard, invoice-scan history, floor plans, live view, POS table operations, reservations/waitlist/customer lists, online-order board, table QR codes; acknowledging price alerts |
| Manage recipes | Create/edit/activate/archive/copy recipes and modifier groups; recalculate COGS and Menu Engineering; reprocess failed depletions |
| View restaurant reports | COGS Variance/Dashboard, Depletion Log/Failures, Price Tracker, Waste Summary, Menu Engineering, Prep Sheets, Weight Variance, Table/KDS/Online-order Analytics, Performance |
| Manage restaurant settings | The Settings page and its sidebar link; waste reason codes; KDS stations and KDS settings; online-ordering configuration |
| Manage purchasing and invoice scan | Upload/review/confirm invoice scans; record catch weight on a GRN line |
| Manage waste logging | Open Log Waste and record entries |
| Manage par levels | Create/edit par levels, generate orders, bulk-import |
| Manage floor plans | The floor-plan editor and saving table layouts |
| Manage reservations | Creating bookings, driving their lifecycle, adding/seating waitlist guests |
| View kitchen display | Opening KDS station boards and the Expeditor view |
Recipes and costing
| Symptom | Likely cause |
|---|---|
| Food Cost % shows "—" | No output menu item, or that item has no sale price |
| A cost shows 0 | The ingredient has no average cost yet, or you haven't Recalculated after a price change |
| Can't activate a recipe | An Item ingredient is missing its item — edit, pick it, save, then activate |
| Suggested sale price is blank | Set a Target Food Cost % greater than 0 |
COGS and depletion
| Symptom | Likely cause |
|---|---|
| COGS Variance report is empty | No snapshots yet for the range — use Recalculate; confirm POS sales map to Active recipes |
| Theoretical cost is 0 despite sales | Items aren't set as a recipe's Output Menu Item, recipes aren't Active, or ingredients need Recalculate Costs |
| "Yesterday" looks off by a day | Set the correct Time Zone in Settings |
| Auto-deplete isn't doing anything | Confirm it's on, and allow up to 30 minutes for the sync |
| Depletions show "Failed" | Usually a missing warehouse — set a Default Depletion Warehouse, then Reprocess |
| Everything shows "Skipped" | No matching Active recipe with that Output Menu Item |
Purchasing intelligence
| Symptom | Likely cause |
|---|---|
| Invoice scan won't upload | File must be an image or PDF, under 10 MB |
| Confirm created a bill with missing lines | Only lines mapped to an item are added |
| No price alerts appearing | Confirm a posted GRN/bill with a supplier moved price beyond your threshold; the first price is a baseline |
| PO unit prices are 0 | No recorded supplier price yet — edit the draft PO, or wait for a purchase to record one |
| An order was "Skipped" | That shortage group has no preferred supplier |
| No catch-weight fields on a GRN line | The item isn't flagged as catch weight — edit it under Products → Items |
Waste and menu engineering
| Symptom | Likely cause |
|---|---|
| Can't save a waste entry | The reason code likely requires a note |
| Waste didn't reduce stock | Auto-adjust stock on waste is off — it's reporting-only by default |
| Menu Engineering shows no items | A dish needs POS sales in range and to be the Output Menu Item of an Active recipe |
| Classifications look unreliable | You picked under 7 days — widen the range |
Front of house and kitchen
| Symptom | Likely cause |
|---|---|
| No table selector on the POS | No active floor plan with tables exists yet |
| "Table already open" | An active session exists — close it, or mark Cleaning → Available first |
| Can't close/clean a table | A linked sale still has an unpaid balance |
| Course 2+ never appears on KDS | Held until front-of-house taps Fire and enters the course number |
| Everything lands on All-Kitchen | The sold items' recipes have no Default KDS Station set |
| No modifier modal at the POS | The item has no modifier groups assigned |
| The public menu shows "not found" | Confirm the slug is saved and spelled exactly, using …/order/{slug} |
| A table QR opens takeaway, not dine-in | Reprint from Table QR Codes — it must be generated per table |
Reservations
| Symptom | Likely cause |
|---|---|
| "Table already open" when seating | The assigned table has an active session — close it or pick another table |
| A completed reservation earned no loyalty points | The booking wasn't matched to a guest record — add a phone number so they're matched or created |
| Repeat bookings created duplicate guests | Matching is by phone number — make sure the same phone is entered each time |
| No reminder email arrived | Reminders only go to bookings with an email, sent once, at 09:00 UTC the day before |