- 3×Pasta Alfredo
Eleven modules. One order engine.
The POS, the kitchen, the stockroom and the books all work from the same records: one stock ledger, one set of figures. Here is each module — what it does today, and the limits it enforces so those figures stay true.
One POS for every kind of order
Dine-in, takeout, counter and delivery from one screen built for a thumb: category tabs, a search that takes item codes, and add-on pickers that know their limits. Lines stay a draft until you send them, so nothing reaches the kitchen by accident.
- Dine-in on a table — or without one, when table ordering is switched off
- Takeout, counter and delivery with the guest’s name, phone and address
- Add-on groups with a minimum and a maximum pick: doneness, sides, extras
- Preset or one-off discounts, by percentage or by amount
- Cash with change, card, bank transfer, gateway and mobile, split across one bill
- Tips suggested at the restaurant’s own rates, or added later from a signed card slip
- Bills and kitchen tickets printed from the browser
- Discounts, voids and refunds are each a permission of their own
- A line already sent is voided with a reason, never quietly deleted
- The POS refuses cash while no drawer is open
Tickets by stage, oldest first
Every round the floor sends becomes a kitchen ticket in one of three columns — to start, cooking, ready at the pass — and the display refreshes itself while it is on screen.
- A clock on every ticket: amber past the slowest dish’s prep time, red ten minutes after
- Filter to one station and each ticket shows only that station’s lines
- Bump a whole ticket forward, or back a stage when it was tapped by mistake
- Add-ons and notes on every line, on screen and on the printed ticket
- What went out in the last hour, for the pass to check against
- An order’s stage is read from its kitchen tickets — nobody sets it by hand
- Voiding a line returns its stock only if the kitchen had not started it
The floor, the bookings and the regulars
A live floor by area, a bookings book one day at a time, and customer records that fill themselves in as orders are taken.
- Tables by area and seats, each available, occupied, reserved or cleaning
- Every occupied table shows its order, how long it has been open and what it owes
- Reservations with party size and table, marked seated, completed or no-show
- Choose a guest at the POS and the order lands in their history
- Regulars, visits and what known guests have spent
- A table with an open order cannot be set free by hand
- A table with history is taken out of service, never deleted
Stock from purchase to plate
Every material has a stock card — each delivery, each order that used it, each count and each spoil, with the balance it left — so the card and the on-hand figure cannot disagree.
- Units that suit the shelf: kilograms, liters, pieces, boxes, trays and more
- Reorder levels, with low and out-of-stock warnings on the dashboard
- Deliveries add their stock when saved and re-weight the average cost
- Suppliers with their invoices and payments; what you owe is worked out, not typed
- Stock in, stock out and wastage, each with its reason — and counts against the shelf
- Stock out and wastage cannot take more than the books hold — count first
- A purchase booked in error is cancelled only while nothing has been paid on it
- A material’s unit is fixed once stock has moved or a recipe uses it
Money that adds up at the close
Cash drawers per cashier, bank accounts, and clearing accounts for card and gateway money. No balance is ever typed in: each one is the opening balance plus every movement since.
- Drawer sessions with an opening float, cash in and out, and a counted close
- Income and expenses by category, and transfers between accounts
- Payment methods with their fees and the account each one pays into
- Bank entries dated to the day they happened, up to a year back
- Tips held for each person until they are paid out, from a drawer or the bank
- Every sale, refund, fee and payout on one ledger
- Cash moves through your own drawer — never somebody else’s without oversight
- Cash out is refused past what the drawer holds
- Once a drawer is counted, a mistake is corrected with a new entry, not an edit
From clearing to the bank, net of fees
Card-terminal and gateway money waits in a clearing account until the payout arrives. Record the payout and it is booked as the net amount to the bank and the fee to Processing fees.
- Record a card or gateway payout as gross, fee and net — three lines on the ledger
- Deposit counted drawers to the bank, marking the sessions each deposit banked
- Pending settlement: what is waiting, day by day, and how long it has waited
- Gateway and bank settlement reports for whoever keeps the books
- Cash reaches the bank as a deposit, never a transfer, so every banked drawer is marked
- A payment already settled to the bank cannot be refunded at the POS
Everyone sees the screens their job needs
Employees are HR records and logins are access. They are linked but never confused: making a cook inactive does not end a login, and removing a login keeps the history.
- Six ready-made roles — Manager, Cashier, Waiter, Kitchen, Store keeper and Accountant
- Roles of your own, built from 35 permissions in five groups
- Invitations with the role already attached
- Shifts in local time, including the ones that run past midnight
- An attendance register: present, late, half day, absent or on leave
- Nobody can hand out a permission they do not hold
- Late means more than ten minutes after the shift starts
- A login with an open drawer cannot be removed until the drawer is counted
26 reports on one set of figures
Sales, products, stock, purchasing, money and tips, settlements and the daily close. Each report is on screen, in CSV and on paper, built from the same figures — so the spreadsheet cannot disagree with the page it came from.
- Pick a day, a month or any range of up to a year
- Today against the same weekday last week, up to the same time of day
- Low stock, open drawers and money waiting for the bank on the same screen
- The dashboard refreshes itself while it is on screen
- Sales count on the day an order was opened; collections on the day the money moved
- Each dashboard panel appears only for a role that can open the screen behind it
What the reports cover
26 reports in seven groups · each on screen, as CSV and in print
- Daily salesOne day's sales by order type and by hour, with the bill arithmetic and the payments taken.
- Monthly salesEvery day of a month: orders, discounts, service charge, tax and sales.
- Sales by date rangeThe same day-by-day sales for any span of days you choose.
- Order statusOrders by where they stand — created, in the kitchen, served, completed or cancelled.
- DiscountsEvery discount given: which, how often, how much, and on which bills.
- Product performanceWhat each menu item sold, what it cost to make and what it earned.
- Items soldHow many of each item left the kitchen, category by category.
- InventoryStock on hand and its value now, with what was received, used, wasted and adjusted.
- Menu engineeringEach menu item as a Star, Plowhorse, Puzzle or Dog within its category: how well it sells against what it earns.
- Food usageWhat each material's recipes should have used between two counts, against what was actually used, and what is unexplained.
- PurchasesEvery delivery booked: supplier, invoice, what it cost and what is still owed on it.
- SuppliersWhat was bought from and paid to each supplier, and what is owed to them now.
- Payables agingWhat is owed to each supplier on a day, by how late it is, with the credits they owe back.
- Financial summaryMoney in and out by category, and the gross profit the sales made.
- TaxTax collected day by day, and the sales it was charged on.
- Service chargeService charge on bills of every order type, day by day.
- Cash collectionCash taken and given back each day, and how every drawer count landed.
- Bank collectionBank transfers from guests, and the deposits and payouts that reached the bank.
- Collection by payment methodWhat each payment method took, what was refunded on it, and its share.
- Collection by cashierWhat each person took, by payment method, what they refunded, and how their drawers counted.
- TipsWhat guests left for staff, by person and day: taken, given back, paid out, and what is still owed.
- Gateway settlementOnline and mobile payouts: what the gateway paid in, and what it kept.
- Bank settlementCard payouts and cash deposits that reached the bank, with the fees taken.
- Pending settlementMoney still on its way to the bank right now — card, online and cash — and how long it has waited.
- LaborHours, overtime and labor cost by business day, job and person, labor as a share of sales, and scheduled against actual.
- Daily closingThe end-of-day sheet: sales, collections, every drawer, money moved, and what is still unpaid.
Your rules, written down once
Tax, service charge, discounts, receipt text, currency and time zone are set once per restaurant — and an activity log records who changed what, and when.
- Tax added on top or included in the price, with its own label and registration number
- A service charge, optionally for dine-in only
- Voluntary tips on or off, and the rates the POS suggests
- Preset discounts for the POS, and the header and footer of the printed bill
- Several restaurants on one login, each with its own menu, staff, money and time zone
- An activity log of voids, discounts, refunds, drawer counts, settlements and access changes
- “Today” means today where the restaurant is, not where the server is
- Money is kept in whole cents (or pence, or yen), so a total never drifts by a fraction
A REST API on the same engines
Menu, tables, orders, stock and reports over HTTPS, with keys scoped to the job. An order placed through the API goes through the same order engine as the POS: same kitchen ticket, same stock movements.
- 11 scopes, from menu:read to reports:read
- Create orders, add rounds and send them to the kitchen
- Take items off the menu, change a table’s status, adjust stock
- Run any report by its catalog name, for any span it takes
- A key can only carry scopes its creator’s role could use, checked again on every request
- Keys are shown once, stored as a SHA-256 digest, and expire
- Every POST carries an Idempotency-Key, so a retried write happens once
- Payments and refunds stay in the console, where the drawer rules apply
curl "$TABLEBUDDY_URL/api/v1/menu/items" \
-H "Authorization: Bearer $TABLEBUDDY_API_KEY"See it with your own menu
Create an account, explore a sample restaurant that’s already trading, then set up your own from a starter menu, floor and stockroom — or from nothing. Free while in preview: no card, no checkout.