POS for cafés & coffee shops
Every cup knows how many grams of coffee it took.
Follow one day at Kopi Teras. Order B-012 is paid at 07:15, its ticket appears on the bar display, its number is called as soon as it's ready, and that night Arif knows when to reorder milk.
Also fitsTakeaway coffee barsCafés & roasteriesTea & boba shops

07:15 · Queue · Sasa
B-012
Takeaway · Ready 07:19
Receipt · INV/2026/10/41107:15
- 2 × Iced palm sugar latte · Large
- Rp 56,000
- 1 × Butter croissant
- Rp 25,000
- Paid by
- QRIS
TotalRp 81,000
- Orders today
- 142 orders
- Sales
- Rp 4,260,000
- Gross profit
- Rp 2,940,000
- To reorder
- 3 ingredients
The café problem
Hundreds of cups sold, and the beans run out without warning.
In a café, your costs are in grams and millilitres. If sales don't take ingredients out of stock, you find out the milk is gone when the barista opens the fridge, and you never know what a cup costs you.
01The queue builds up, and customers keep asking "is mine ready?".
Every order gets a queue number. Once the bar marks it ready, the number moves to the Ready to serve list at checkout to be called.
Step 0202Baristas read orders off paper receipts.
Orders appear on the bar display as soon as they're paid.
Step 0203The cost of a cup is only a guess.
The recipe records the grams of coffee, millilitres of milk, and the cup itself, so the cost of each cup comes from what you paid for them.
Step 0304Milk and cups run out at rush hour.
Ingredients go down with every cup. Anything below its reorder point is flagged as low, and supplier orders are made straight from that list.
Step 04
Simulation · One day at Kopi Teras
One working day, from the first espresso to closing the drawer.
Kopi Teras is on F&B Starter with two users: Arif and Sasa. Every number below is what appears on screen in Tumra.
- 07:1501 · Checkout
The order is paid, a queue number comes out.
Sasa opens the drawer with a Rp 300,000 float. A customer orders 2 large iced palm sugar lattes and 1 croissant to take away. They pay by QRIS and get number B-012, the number series for Takeaway orders.
Point of sale (POS)Receipt · INV/2026/10/41107:15
- 2 × Iced palm sugar latte · Large
- Rp 56,000
- 1 × Butter croissant
- Rp 25,000
- Paid by
- QRIS
TotalRp 81,000
From the same receipt · no re-entry
02 · Bar · 07:15
Ticket on the bar display, number on the call list.
The order appears on the Bar display as soon as it's paid. Once the coffee is made, Sasa taps Ready to serve, and B-012 moves to the Ready to serve list at checkout to be called.
Point of sale (POS)Bar display · B-01207:15
- Iced palm sugar latte · Large
- 2
- Butter croissant
- 1
- Type
- Takeaway
StatusReady 07:19
03 · Recipe · 07:15
Grams of coffee and millilitres of milk come off.
One large cup uses 18 g of coffee beans, 150 ml of milk, 30 ml of palm sugar syrup, and one 16 oz cup. The croissant is bought in ready-made from a supplier, so it's a stocked product at its purchase price. The cost of both goes straight into today's gross profit.
Products & stockProfit breakdownINV/411
- Sales
- Rp 81,000
- Cost (2 × 9,800 + 11,000)
- Rp 30,600
- Gross profit
- Rp 50,400
Coffee beans2,400 → 2,364 g
- 14:0004 · Stock
UHT milk drops below its reorder point.
After lunch, there are only 5.4 litres of UHT milk left, below the 6-litre reorder point. Arif creates a purchase order to his supplier from the low-stock list.
Sales & purchasingPurchase order · PO/2026/10/02214:00
- UHT milk 1 L
- 24 × Rp 20,000
- Total
- Rp 480,000
SupplierCV Dairy Nusantara
- 22:0005 · Close drawer
The drawer closes, today's sales are in.
Sasa counts the cash and closes the drawer. QRIS payments don't count as money in the drawer, so only cash is checked.
Point of sale (POS)Drawer close · Sasa22:00
- Opening float
- Rp 300,000
- Cash received
- Rp 1,180,000
- Expected
- Rp 1,480,000
- Counted by Sasa
- Rp 1,480,000
DifferenceRp 0
22:30 · owner
The espresso machine has cooled down, and Arif knows what each cup costs.
Arif sees the results of 142 orders, their ingredient cost, and what needs ordering before tomorrow morning.
Profit per cup
From recipes and the average cost of each ingredient, not a guess.
Best sellers
The drinks and food that sold most today and over the last seven days.
Ingredients to reorder
Three ingredients below their reorder point, one already ordered.
A drawer per cashier
Every shift is recorded with a name, times, and any difference.
Today's summary · Kopi Teras
Tuesday, 13 October
- Sales
- Rp 4,260,000
- Gross profit
- Rp 2,940,000
- Best seller
- Iced palm sugar latte
- Drawer difference
- Rp 0
142 orders
69.0% of sales
68 cups
Sasa's shift
To reorder · 3 ingredients
- UHT milk5.4 L / reorder at 6 L · ordered
- Palm sugar syrup0.8 L / reorder at 2 L
- 16 oz cups42 / reorder at 100
Features used
The features behind that day.
You have seen every feature below at work in the simulation. Open its page for the full details.
- Point of sale (POS)Steps 01 · 05Queue numbers, Dine in/Takeaway, size variants, QRIS, a drawer per cashier.
- Point of sale (POS)Step 02Paperless tickets by station, finished orders move to the Ready to serve list at checkout.
- Products & stockStep 03Grams and ml per variant, cost per cup.
- Sales & purchasingStep 04Low-stock ingredients go straight into a purchase order.
- Dashboard, search & helpOwnerBest sellers, today's food cost, and low stock on one screen.
The plan Kopi Teras uses
One plan runs that whole day.
Queue numbers and the bar display are already in F&B Starter. Move up to F&B Plus when guests sit down and order at the table.
Used in the simulation
F&B Starter
Rp 71,600Rp 179,000/month, incl. VAT
- Users
- 2 (max. 3)
- Checkout locations
- 1
- In the simulation
- Arif + Sasa
- Queue numbers, Dine in/Takeaway
- Kitchen & bar displays
- Recipes and cost per cup
- Accounting, reports, and tax
F&B PlusRp 139,600/mo · tables, open bills, waiter modeCompare all plans
FAQ
Common questions, honest answers.
We answer plainly, including what Tumra can't do yet.
A good fit if
- Customers order and pay at the counter
- You want to know what each cup costs
Not a fit yet if
- Your menu relies on many paid add-ons per cup (extra shot, syrups)
- You need a stamp card or points for customers
01What about an extra shot, oat milk, or less sugar?
Options that change the price, such as Large or oat milk, are set up as variants, each with its own recipe. Requests with no price, such as less sugar, are written as a note on the order line and show on the bar display. Paid add-ons chosen per cup (modifiers), such as an extra shot, aren't available yet.
02Is there a stamp card or customer points?
Not yet. Points, stamps, and membership cards aren't available. What you do get is customer groups with their own discount, for example a Member group with 10% off, applied when the customer is selected at checkout.
03What if I don't weigh every cup?
That still works. Fill in the recipe with a standard measure per cup, then check it now and then with a stock count. Or use periodic costing: ingredient cost is worked out from the change in stock when you count it, with no measure per cup. In this mode, the per-item report doesn't show cost.
04I buy my croissants from a bakery. How is their cost handled?
Set up the croissant as a stocked product at its purchase price. Its cost uses the average cost across every purchase, and its stock goes down with every sale, just like goods in a shop.
05Can customers order for themselves with a QR code on the table?
Not yet. Orders come in through checkout, or through the server's phone on F&B Plus. Self-ordering by QR code at the table isn't available yet.
06Does the POS work when the internet is down?
Not yet. Checkout and the bar display run in the browser and need an internet connection. If the connection drops as you press Pay, pressing Pay again continues the same sale, so it isn't recorded twice.
Get started
Call your first queue number tomorrow morning.
Add your menu and recipes, set up the bar display, and see the cost of each cup on day one. Free for 30 days, no credit card.
- Start on the Free plan
- No credit card






