Publishing writes the customer menu files into your repository, and Vercel serves
them from there. That is the only thing GitHub is for — your business data lives in the team database, not here.
Open GitHub and create a fine-grained token — pick only the Greenstan repository, and only Contents: Read and write.
Copy the token and paste it below.
Press Connect. From then on this device can publish the menu.
The token is stored in this browser only — never in a backup, never in a published file.
Dashboard
what needs attention, and what earns
Ingredients
the base of every cost
0
Ingredients
0
No cost set
0
With allergens
Recipes
ingredients become a costed product
0
Recipes
0
Incomplete cost
Costs & expenses
overheads · assets · labour · break-even
Staff
the rota · the hours actually worked · what they cost · how the month went
Purchasing
price control · supplier comparison · negotiation
Items & Add-ons
what you sell, priced with its real margin
0
Items
—
Avg margin
0
Below cost
Combos
grouped offers with the real margin after discount
0
Combos
0
Below cost
Marketing
ads inside the customer menu — slider & welcome popup
AI Waiter
the control room — identity, rules, push lists and limits, configured once and applied everywhere
Digital menu
drag, resize, rotate — design freely, then publish to your link
EditingPage bgHeightPrices100%
Elements
Ctrl+click selects many · Ctrl+G groups · Ctrl+Shift+G ungroups
Brand kit · drag onto the page
Layers · drag to reorder
Esc deselects · Alt+hover measures px · double-click an image to move the photo inside its frame · outside the phone edges = visible here, cut for customers
Sales
daily quantities in — decisions out
Enter how many of each item sold on this day. Amber rows have no data yet — a row counts as entered once it has any number, including 0. Photo-based extraction from a POS report is an AI feature of the full Fratiro product; here, type it or import the CSV your POS exports.
Sell-down planner
Add what you need to move — a raw ingredient, or an already-prepared recipe such as a juice base or sauce that will expire. The system traces it through every recipe and sub-recipe, finds every item and add-on that consumes it, and ranks the list two ways: where the profit is, or what empties the stock fastest. Print it for staff.
Ingredient or prepared recipeAvailable qtyUnit
Prep planner
Predicts what you'll sell on a day from the average of the same weekday in past weeks, then converts it through every recipe and sub-recipe into a gross prep & purchase list for the kitchen — trim loss included. Adjust the predicted quantities before building the list if you know something the history doesn't (an event, a holiday).
Suppliers
where your ingredients come from
Settings
Menu type customers see
Your digital menu can be either a free design you lay out by hand, or a normal list of sections and
items. Both are always yours to work on in Digital menu — this is the only place that decides which
one your customers actually get, and it takes effect the next time you publish.
Install on this computer
Puts Greenstan in its own window with its own icon — no browser bar, opens from the desktop or taskbar,
and keeps working when the internet is down. It is the same system and the same data, just not inside a browser tab.
Business profile
Used as the header on every printed report, recipe and order sheet — so sheets you hand to staff or suppliers carry your details, not a placeholder.
A Games tab beside the customer's order — Tic-Tac-Toe, Flappy Bean, Memory and Quick Hand, with the
cafe's top ten scores. It costs nothing and works even with the Waiter switched off.
Tax treatment (TVA)
Decides whether tax on purchase invoices counts as a cost. This changes every food cost and margin in the system, so set it once, correctly.
Arabic typing
Arabic-only fields (Arabic name, Arabic description) can accept Arabic from an English-selected keyboard — each physical key types the Arabic letter printed on it, so there is no need to switch layout.
Only needed if your keyboard differs from the standard Arabic layout. Anything listed here overrides the default for that key.
Currency
All costs are stored in USD. The LBP toggle only changes the display — update the rate anytime and every number follows.
LBP per dollar (display only)
Exchange-rate history
Every rate change you save is logged, so you can see how the LBP rate moved against your costs.
Ingredients
Ingredient categories
Groups for the ingredient list and its filter. Renaming updates every ingredient using it; a category in use can't be deleted.
Brands
The brands used on ingredients. Rename propagates everywhere; delete is blocked while a brand is in use.
Ingredient icons
The emoji set offered in the ingredient editor. Anything you type there is added here automatically.
Recipes
Recipe categories
Groups for recipes (Sauces, Doughs, Mains…). Also creatable from inside the recipe editor.
Staff
Departments
The parts of the house a person belongs to — Service, Kitchen, Bar, Shisha. The schedule gives each one its own lane inside every day, and payroll totals by them. Also creatable from inside the staff editor, by typing a name that is not there yet.
Items & combos
Sections
The sections your items live in (Sandwiches, Hot Drinks…). Also creatable from inside the item editor.
Colour presets
A fixed palette shared by recipes, items and combos. Pick one in any of those editors and the dot appears beside the name in every list.
Data health
What the system holds, how much room is left, and anything incomplete that would distort your costs or reports.
Backup copy
The live data is in the team database, on every device you sign into. This is a copy in your own hands —
one file with everything in it, for keeping somewhere safe or trying things out. Ctrl+S anywhere takes the same download.
No backup exported yet.
GitHub — menu publishing
Publishing writes the customer menu files into your repository, and Vercel serves them from there.
Only the menu travels this way — never costs, staff or takings. The token stays in this browser only; it is never synced or included in any file.
Spreadsheet
Ingredients CSV in and out — includes the full purchase basis (box → pack → piece → measure), density and prep loss, so a sheet exported here re-imports without losing anything. Items and combos export from their own tabs.
🗑 Trash & recovery
Deleted ingredients, recipes, items, combos and suppliers stay here for 30 days — restore them or delete them forever.
Sign-in
There is one sign-in: your team account, checked by the database. Who may open what is decided by the
roles on Team admin — a person signs up there for themselves, and the owner gives them their role.
There is no separate device password any more.
Danger zone
Clears everything from this browser. Export a backup first.
Greenstan Cafe System
· released · data stored in this browser, offline
Leave as same as ours when they sell the identical pack. Change it when their pack differs — a 12-can tray against our 24 — and the system still compares them fairly, per gram, ml or piece.
—
New ingredient
Identity
For a can, a bottle, a packet — anything that goes over the counter as it
came off the lorry. The button makes the counter's item, linked to this ingredient so its
name and cost follow. Everything else simply goes into recipes — where an ingredient is
counted is worked out from the items that use it, so there is nothing to tag.
Every recipe that uses this, and every item built on that recipe, can then offer the same choice — and the list follows the ingredient onto your purchase and price-check sheets.
Allergens
Cost — purchase basis
Example: a 5 kg bag bought for $22 → price 22, quantity 5, unit kg.
Unit costenter price & quantity
Lets recipes measure this ingredient in ml / tbsp / cup even when it's priced by weight (and vice versa). 1.0 = like water. Ready ingredients come with a standard value you can adjust.
Preparation loss / yield (AP → EP)
EP ÷ AP — how chefs usually know it
Peeling, trimming, cleaning. Enter loss % or yield % directly, or weigh before and after — everything syncs, and the true EP cost shows above.
Sourcing & notes
Other suppliers & their prices
Enter what each supplier charges for the same purchase quantity entered above. Enter each supplier's own discount and tax too. Comparison uses the landed price — after discount, and including tax only when tax is a real cost to you — because that's what decides who is actually cheaper.
Ctrl+Enter saves · Esc closes
New recipe
Identity
Optional, but it keeps a two-level build clear: a Core base (juice base) feeds a Production recipe (the served drink), which the item links to.
Ingredients & sub-recipes
ComponentQtyUnitLoss %Line cost
one field searches ingredients and recipes together
Yield
Portions, servings, persons and pieces work exactly the same way — the cost is simply divided by how many you get. Use kg / liter instead when the output is weighed or poured, since only measured yields can shrink or grow while cooking.
Cooking variation — applied when used as a sub-recipe
This adjusts the real cost per kg / liter of the finished product, which is what sub-recipes and items consume. It only applies to weight or volume yields — serving-based yields already count finished units.
Labor (optional)
Total cost—
Cooking steps — one step per line
These steps become the printed cooking-book guide for your staff — with the ingredients and quantities, without any costs.
Ctrl+Enter saves · Esc closes
New item
Identity
Menu extras — shown on the digital menu only
Cost source
in the recipe's yield unit
For simple products — a bottle of water, a canned drink, a bought croissant — link the ingredient(s) directly, no recipe needed.
IngredientQtyUnitLine cost
Pricing
—
Cost
—
Price
—
Profit
—
Margin / FC%
Ctrl+Enter saves · Esc closes
New combo
Identity
Contained items
ItemQtyCostNormal price
Combo pricing
price = sum of selected items − discount %
—
Combo cost
—
Sum of items
—
Combo price
—
Real profit
Ctrl+Enter saves · Esc closes
New supplier
Open Google Maps, find the shop, tap Share → Copy link, paste it here. The 📍 Map button on their page opens exactly that pin. With no link, it searches the address instead.
What they supply
Tick the ingredient categories this supplier carries. Their price list then shows only those ingredients instead of your whole inventory. You can still add single exceptions from inside the list.
Ctrl+Enter saves · Esc closes
New person
Who they are
A photo of the ID or work permit, kept with the rest of your data on this device. It is never published with the menu and never sent anywhere.
Untick when somebody leaves. Their hours, pay history and reviews stay in the record — they simply drop off the rota and out of the forecast.
The working week
the shift they are contracted for — the rota starts every new shift at this length, and a day shorter than it is flagged
1 is the usual one day off. 0 means they are expected every day — the month is forecast either way
What they are paid
the day it takes effect
Changing the rate does not overwrite the old one — it is added to the history below, and every day is always costed at the rate that was in force that day. A raise in June leaves May's payroll exactly as it was.