Free Restaurant POS & Billing Software
Run the floor, send orders to the kitchen and print a GST bill — from your browser. No signup, no subscription, and it keeps working when the wifi doesn't.
Opening your restaurant…
Service
Built around the open ticket
A shop's sale is over in thirty seconds. A table's bill stays open for an hour. Everything here follows from that one difference.
A floor you can read at a glance
Every table with its state, running total and how long it has been sitting. Colour is never the only signal — each table says free, running or bill printed in words, so a washed-out screen in daylight still tells you the truth.
Bills that stay open
A table's ticket stays open for as long as the meal lasts. Items go on in rounds, the kitchen gets each round as it is ordered, and the bill is settled at the end — which is the one thing a retail till cannot do.
KOT, one round at a time
Sending a round prints a kitchen ticket with only that round on it, and no prices. Reprint it with one tap. No printer? The kitchen reads it off the screen, which is what most small kitchens do anyway.
A live kitchen screen, if you want one
Open the kitchen screen in a second tab and leave it on the pass. Rounds appear the instant the counter sends them, and marking food ready shows up on the floor — no server, no second subscription, just two tabs reading the same browser storage.
Cancellations leave a trail
Once an item has gone to the kitchen it cannot be quietly deleted. Pulling it prints a cancellation slip and stays on the ticket with its reason — that record is how you spot waste and mistakes at the end of the month.
Dine-in, takeaway and delivery
Counter orders sit alongside the floor with their own tickets, customer name and delivery address. Everything lands in the same reports.
Built for the rush
44px targets, one-handed on a phone, and a ticket panel that never shifts under your thumb. A mis-tap at eight o'clock bills the wrong table.
Menu
A menu shaped like a real one
Sizes, add-ons, veg marks and the dish that runs out at eight.
Half, full and every size between
An item can carry as many variants as it needs, each with its own price. Ordering one asks which — no more guessing why the biryani rang up wrong.
Add-ons and options
Extra cheese at ₹40, no onion at ₹0, spice level pick-one. Option groups can be required or optional, single or multi-select, and they ride along to the kitchen ticket.
Veg, non-veg and egg marks
Every dish carries the mark Indian menus are required to show, on screen and on the bill.
Sold out at 8pm, back tomorrow
One tap hides a dish from ordering without deleting it, and one tap brings it back. Nobody should have to retype a dish because the paneer ran out.
Import your menu from a spreadsheet
Export to CSV, edit forty dishes in Excel, import it back — sizes and add-ons included. Typing a menu on a phone is nobody's evening.
Per-dish tax rates
Set a default and override it where you need to. Inclusive and exclusive pricing both work, and the bill shows the split either way.
Kitchen
Recipes and raw material stock
Optional, and off until you want it. Turn it on and every dish you send deducts what it actually uses.
Count ingredients, not dishes
Nobody has twelve Gajar Halwa in a cupboard — they have carrots, milk and ghee. Give each dish a recipe and sending a round to the kitchen takes exactly those out of stock.
Half plates use less rice, not less raita
A size can carry its own recipe rather than a percentage of the base, because scaling everything by 0.6 quietly gets the garnish wrong. Add-ons adjust it further — extra cheese is thirty more grams, no onion is ten fewer.
Kilos in, grams out
Buy a 5 kg sack, cook in 250 g portions. The conversion happens once, where it belongs, so stock never ends up mysteriously negative.
Food cost while you type it
The recipe editor prices the dish as you build it, at your actual average cost. A 60% food cost is obvious while you are still looking at the recipe, not three months later.
Wastage that stays visible
A dish cancelled after it reached the kitchen was cooked, so the ingredients do not come back. They move from 'used' to 'wasted' instead, which is the number worth watching.
Lock the pass
The kitchen screen goes full screen and locks from the counter — no nav, no way back to the till, and nothing a stray tap can change. Tab and Enter cannot walk out of it either. Only the counter PIN releases it.
Stock takes that show the gap
Count the shelf, enter what is really there, and the difference is recorded rather than smoothed away. Running out never blocks a sale — it only warns, because the cook can see the fridge and the app cannot.
Guests
Bookings and running accounts
Hold tables ahead of time, take an advance if you want one, and let regulars pay later through the shared Customer Ledger. Both optional, both off until you turn them on.
Book a table, free or against an advance
Hold a table for a window, not a moment — so a 7:30 booking for two hours warns you before you promise the same table at 8. Take an advance or don't; both are normal.
Confirm on WhatsApp, from your own number
The confirmation, the reminder and the cancellation open in WhatsApp with the message written out, waiting for you to send. No API, no gateway fee, and no diner's phone number ever leaves the browser.
The advance comes off their bill
Money taken to hold a table is money held, not a sale — so it stays out of that day's takings and lands on the bill the night they actually eat. Whoever settles it sees the advance without needing to know a booking happened.
Udhaar, in the ledger you already have
Let a regular eat now and pay later. It is not a separate khata: the bill posts to the shared Customer Ledger, the same book the Browser Based POS writes its udhaar sales to — so a customer who runs a tab at the counter and at the table has one balance, not two that disagree.
One customer book
Pick a saved customer at the table, or add one with a name and phone number in the same breath. Regulars first saved at the shop till or in the Customer Ledger are already in the list, and the payment screen shows what they owe before you add to it.
Settle it in one place
Payments, reminders and statements happen in the Customer Ledger for the whole business at once, rather than one screen per product. Free Dine's job is to put the charge in the right book and get out of the way.
Billing
The awkward part, handled
Splitting, merging, service charge and a GST bill that adds up to the paisa.
Split three ways, three ways
By what each person ate, by an even share, or by amounts the table has agreed between themselves. Each part prints and pays on its own, and the parts always add back to the bill exactly.
Merge tables
Two tables become one, with both tables' sent rounds kept in order. The absorbed table frees itself.
GST that stands up
Subtotal, then discount, then service charge, then tax — in that order, because the order changes the number. CGST and SGST print per rate slab with the taxable value against each.
Service charge, honestly
Off by default, because it is voluntary in India. When you do levy it, it is taxed as part of the supply and the bill tells the guest they can ask for it to be removed.
₹500 cash and ₹300 by UPI
One bill can take as many tenders as it needs. Add your own methods too — Swiggy, Zomato, Sodexo.
Design the bill once
Lay out your bill in the Receipt Designer — accent colour, logo, header and footer, paper size — and pick it in Settings. It is the same template the rest of the Setu tools use, so one look carries across everything you hand a customer.
Print, PDF or WhatsApp
80mm, 58mm or A4. Share the bill as a PDF where the browser allows it, and as a summary where it doesn't. Amount in words uses lakh and crore.
Trust
What stops you leaving after a week
Reports you believe, data you can get out, and a till that keeps working.
Four numbers at midnight
Sales, bill count, average bill and tax collected — plus what sold, by hour, and what was discounted or cancelled. Every figure is computed from the bills themselves, so a report can never disagree with them.
Day close you can print
A Z-report style summary with the GST slabs and the payment breakup. Reprint it whenever — nothing is locked off.
For restaurants that close at 2am
Set the business day to start at 4am and a one o'clock order counts towards the night the staff actually worked, in both the KOT numbering and the day summary.
Backup, and a nag when you forget
Your data lives in this browser, which is why there is no login — and why one JSON file is the difference between a cleared cache and losing your year. Free Dine reminds you weekly.
Your own Google Sheet, as the safety net
Push the menu, sales, diners, stock and bookings into a sheet you own, and pull the lot back to rebuild a browser that lost its data. It is your spreadsheet and your Apps Script — no Setu server sits in the middle, and the sheet doubles as the reporting feed for anyone who lives in Excel.
Everything leaves as CSV
Menu, bills, bill lines, stock movements, recipes, bookings and the day's numbers all export as CSV, and the menu imports back. Nothing you put in is trapped.
PIN the counter
Lock on open and after idle, so a passing guest cannot poke at the till while you are in the kitchen.
Keeps billing through an outage
Once the page has loaded it stays loaded. Take orders, fire KOTs and print bills with the wifi down.
Already using our Browser Based POS?
They are different tills for different rooms, with separate data. A shop rings up a sale and it is over; a restaurant keeps a bill open for an hour.
| Capability | Browser Based POS | Free Dine |
|---|---|---|
| Open bills per table | Hold and recall only | First-class |
| Tables and floor areas | — | Yes |
| Kitchen tickets (KOT) | — | Per round, no prices |
| Live kitchen screen | — | Second tab, same device |
| Half / full, add-ons | — | Yes |
| Split and merge bills | — | Yes |
| Service charge | — | Yes |
| Barcode scanning | Yes | Not how restaurants work |
| Stock tracking | Finished products | Raw materials, via recipes |
| Table bookings | — | Free or with an advance |
| Pay later (udhaar) | Customer Ledger | Same Customer Ledger |
Running a shop rather than a restaurant? Use the Browser Based POS — it has barcode billing and stock tracking, which this deliberately does not.
Where free stops and Setu Dine starts
The line is capacity, never features. Everything a single restaurant needs is here and stays here. Setu Dine is the one that runs across outlets, devices and staff.
| Feature | Free Dine | Setu Dine (₹499/mo) |
|---|---|---|
| Billing, tax, tables, KOT | Full | Full |
| Split, merge, service charge | Full | Full |
| Reports and day close | This outlet, this device | Across outlets |
| Multi-outlet | — | Yes |
| Staff roles and logins | One device, PIN lock | Owner / manager / staff |
| Coupons and loyalty | Manual discounts | Coupon and loyalty engine |
| Synced CRM | On this device | Yes |
| QR customer tracking | — | Yes |
Opening a second outlet, or want your staff on their own logins?
See Setu DineYour menu and history export as CSV and JSON, so nothing is stranded here.
Free tools for restaurant owners
Work out what a dish costs before you price it on the menu above.
Free restaurant POS — questions
It is free forever for one restaurant on one device, and nothing is switched off after a month. Setu Dine, the paid product at ₹499/month, is the one that runs across several outlets, devices and staff logins — the limit is capacity, never features.