Inventory
The Inventory section tracks stock of ingredients and goods. The core idea: you describe each dish's recipe once, and then components are deducted automatically when an order is completed — stock stays accurate without manual bookkeeping.
Open: Admin panel → Inventory. Three tabs: Stock, Documents, Suppliers.
Stock
- A product = an ingredient or a stock item: name, unit, current quantity.
- Minimum stock — when the quantity drops below this level the row is highlighted: time to reorder.
- A product can be archived — it disappears from the list but stays in the document history.
Recipes: auto-deduction on orders
Each dish (in the Menu section) gets a recipe — which products and how much go into one serving. When an order is completed:
- components of every order item are deducted according to their recipes;
- for combo sets, the deduction unfolds the recipe of every dish inside the combo;
- all movements are visible in the Documents tab.
To link products to dishes quickly there are AI suggestions: the system analyzes your menu and proposes which dishes use a product — you just confirm.
Semi-finished products (preps)
For preps (sauces, dough, broths) a product gets its own recipe. The "Produce" button creates a production document: the prep is added to stock while its components are deducted. In dish recipes a prep is used like any other product.
Goods receipt
Two ways to register incoming goods:
- Manually — the "Receipt" button: pick products, quantities, prices and the supplier.
- By invoice photo — snap a photo of the delivery note: AI recognizes line items, quantities and prices and matches them to your products. You review and confirm. New products can be created right from the recognized invoice.
Invoice photo recognition is still being finished on the server side: the button is in the panel, but the result may never arrive. Register goods manually for now — receiving does not depend on it.
Every receipt is stored as a document linked to a supplier — purchases flow into Finance (food cost, gross profit).
Purchase price control on receiving
On receiving, every line is compared with the median price of that product over the last 30 and 90 days. If the price is noticeably higher, a "+N % vs median" badge lights up next to the line — the storekeeper sees the increase at the moment of receiving, not a month later in a report.
A few details that matter:
- the sample unit is the invoice, not the line: a supplier who splits a delivery into five lines does not shift the median five times harder;
- fewer than three deliveries is not a sample, so no badge appears;
- a discrepancy confirmed by the storekeeper lands in the supplier's journal — the counterparty gets a history of price shifts and a marker on the "Suppliers" tab;
- the same median feeds the "purchase price spike" risk rule — the owner sees it in the "Cash risks" block, see Loss control. The storekeeper's and the owner's numbers match, because they are computed once, on the server.
Suppliers
The Suppliers tab is your counterparty database: legal name, tax ID, bank and account, address, contact person, phone, email. A supplier is selected when registering a receipt, so each counterparty has a purchase history. An archived supplier disappears from the list but stays in documents.
Variance: where the difference went
The "Variance" tab answers a question invisible in both sales and receipts: between two stocktakes more left the store than was sold. Consumption over the cycle is split into three parts:
| Part | What it is |
|---|---|
| Sales | cost of goods sold, recorded at the moment of sale from recipes |
| Explained | waste write-offs, production of semi-finished items, transfers between locations |
| Unexplained (variance) | what the stocktake found: expected quantity minus counted quantity |
The third line is the loss: an inaccurate recipe, portions served "by eye", unrecorded waste, or theft. It has to be read together with the first two — otherwise you cannot tell "we served more than the norm" from "we wrote it off as waste".
An honest caveat: a manual stock adjustment inside the cycle stores an absolute value rather than a delta, so part of the "unexplained" is in fact explained by an operator's hand — such documents are counted separately and shown alongside.
Losses exceeding theoretical consumption by more than a configured percentage raise the "consumption above norm" rule — see Loss control.
Demand forecast and prep plan
The "Forecast" tab turns sales history into a plan for tomorrow: how many dishes will sell on this weekday, what has to be prepped (with recipes exploded and a "be ready by" hour), what to order from suppliers, and what risks running out before the day ends.
Details — Demand forecast.
Products by weight and labels
Products by weight. A product can be measured in kilograms/litres rather than pieces: stock, recipes and write-offs all use those units. If scales are connected to the till through the hardware bridge, the weight is filled in automatically — both on receiving and when selling a dish priced by weight (canteen, deli). Price-by-weight is configured on the dish card, see POS.
Shelf labels. Products get warehouse labels with a barcode, name, price and an expiry date: if the product has a shelf life in days, the expiry is computed as the print date plus that period. This is not the same as order stickers — those are printed by the kitchen, see Kitchen and front-of-house printing.
There is no batch tracking or FEFO yet: the system knows a product's shelf life and prints a label from it, but does not keep separate batches with different dates.
Related
- Demand forecast — prep plan, purchase draft and run-out risk
- Loss control — the "consumption above norm" and "purchase price spike" rules
- Menu engineering — what to do with a dish once its cost is known
- Finance — purchases, food cost and gross profit
- Orders — completing an order triggers deduction
- QR menu — dishes and combo sets the recipes are attached to
- Shop — the stock level is visible to the buyer on the storefront: "only a few left" or the exact number
FAQ
Do all dishes need recipes?
No. Start with your bestsellers and add the rest gradually. Dishes without recipes simply don't deduct stock.
What happens when an order is cancelled?
Deduction is tied to order completion: cancelled orders don't touch stock.
Which languages do invoice photos work with?
The AI handles typical delivery notes in the region's main languages (Georgian, Russian, English and others). You always review the result before confirming.
Can I run inventory across several locations?
Yes, stock and documents are kept per location — pick the location at the top of the page.