// BUSINESS

Busy Every Day, Thin Profit: The Five Places a Cafe Actually Loses Money

Business
Ashari Tech Engineering21 Aug 20269 min read
Illustration: Busy Every Day, Thin Profit: The Five Places a Cafe Actually Loses Money — Ashari Tech Insights

When "busy" stopped being good news

Indonesia now has more places to drink coffee than any country on earth. Industry reporting for 2026 counted roughly 462,000 coffee locations — warkop and roadside stalls included — about 12% more than a year earlier. Narrow it to formal, active coffee shops and the figure is closer to 25,000, growing around 10% a year.

Underneath that growth is a squeeze that did not exist three years ago: green bean and dairy costs have risen sharply since 2024, while the price a customer will accept for a cup has barely moved. Volume went up. The gap between what a cup earns and what a cup costs went down.

That combination produces a specific failure that owners describe the same way every time: the shop is full, the daily sales number looks fine, and there is still nothing left at the end of the month. The money is not missing from the till. It leaks in five places that a sales report is structurally incapable of showing you.

Leak 1 — A cost of goods number calculated once, years ago

Almost every cafe works out its cost per drink at least once, usually in a spreadsheet, usually the month before opening. Then the bean supplier raises prices, the milk brand changes, a barista starts free-pouring a heavier shot, and nobody revisits the number. The menu price stays where it was set against a cost that no longer exists.

The damage is invisible because it is distributed. No single cup loses money dramatically. A drink that was designed at a healthy margin quietly drops to a thin one, and because it is your best seller, the volume that used to carry the shop is now the thing draining it fastest.

A cost figure is only trustworthy if it is derived, not typed. That means a recipe with real quantities — grams of beans, millilitres of milk and syrup, the cup, the lid, the straw — multiplied by what you actually last paid, recalculated every time a purchase price changes rather than every time someone remembers.

Check it yourself: take your three best-selling drinks, rebuild their cost from this month’s purchase invoices, and compare against the margin you assumed when you set the price. Owners are routinely surprised by the third one.

Leak 2 — A cash difference that became a habit

At close, someone counts the drawer, compares it to the sales total, writes the difference on a piece of paper, and goes home. Small gaps get absorbed as normal. Within a few months, "short again" stops being an event and becomes the weather.

The reason a shortfall cannot be explained is almost never dishonesty. It is that the count has no companions. Voided orders, refunds, a staff member buying ice with drawer cash, a supplier paid in the afternoon, the float that started the shift — each of those legitimately moves money, and if they live outside the count, the difference has nothing to be traced against.

A cash close only becomes accountable when the session is a record rather than a moment: an opening float, every movement in and out with a reason, every void and refund attached to the person who authorised it, and a variance that carries a name and a timestamp. The point is not catching a thief. It is that a shortfall becomes a question with a finite list of possible answers.

Check it yourself: for one week, write down the closing difference every day alongside who closed. If the differences cluster around particular shifts, you have found something. If they are random but never zero, your count is missing categories, not money.

Leak 3 — Consignment: someone else’s profit, recorded as yours

Most cafes carry titipan — cakes, pastries, snacks placed by outside vendors on a revenue share. On the sales report those items look exactly like your own products. They are not. A meaningful part of every one of those sales is owed to somebody else.

The usual arrangement is a notebook and an end-of-month reconciliation, done from memory and a stack of receipts, by the owner, at night. It is slow, it is the single most common source of disagreement with vendors, and while it is outstanding, your reported revenue overstates what you actually earned by exactly the amount you are about to pay out.

The fix is structural, not clerical: the moment a consigned item sells, the vendor’s share should be booked at that vendor’s own commission rate, so your revenue is net from the start and the payable is a number the system already knows. Give the vendor a way to check their own figures and the monthly argument disappears with the monthly recap — provided each vendor can only ever see their own.

Check it yourself: pick last month, total your consignment sales, and compare what you paid out against what the share should have been. Then ask how long the reconciliation took. That time is a cost too.

Leak 4 — Stock counts nobody traces afterwards

Two things go wrong with stock in cafes, and they look identical from the outside. Either the count happens too rarely to mean anything, or it happens and the difference is written down and never investigated.

A count on its own is not control. Control is the comparison: what the shelf holds versus what recorded movement says it should hold, resolved per ingredient rather than as one lump figure. "We are short about a million rupiah of stock" tells you nothing you can act on. "We are consistently short on milk and never on beans" tells you where to look, and usually points at portioning or wastage rather than theft.

This is also the leak that quietly invalidates the others. If ingredient movement is not recorded when a drink is sold, your cost of goods is fiction, your opname difference is meaningless, and both of the first two leaks become impossible to measure. Recipe deduction is what makes the rest of the numbers real.

Check it yourself: count one high-value ingredient — beans, or a premium syrup — on a Monday and again the following Monday, and compare the difference against what your sales say you should have used. One ingredient is enough to find out whether your records mean anything.

Leak 5 — Two layers of tax that arrive late

Food and beverage in Indonesia carries two separate obligations, and new owners routinely discover the second one from a letter. The regional layer is PB1, now formally PBJT under the 2022 HKPD law — a tax on what the customer pays, collected by you and owed to your local Bapenda, with the rate and the small-business threshold set by regional regulation. The central layer is income tax; for most small operators that is the final 0.5% regime, updated by PP 20/2026, which kept the 0.5% rate and the Rp4.8 billion turnover ceiling and confirmed that the first Rp500 million of turnover is not taxed.

Neither of these is difficult arithmetic. What makes them dangerous is timing. Both are computed on revenue you have already received and, in most cafes, already spent — on beans, on wages, on rent. The bill is not a surprise in amount. It is a surprise in liquidity.

The treatment that works is boring: compute the tax from the same transactions as everything else, and separate the money as it arrives rather than finding it later. A percentage set aside daily is invisible; the same percentage found in one payment is a crisis. Several regions also connect a transaction recorder to the point-of-sale for PBJT monitoring, which is a good reason to know what your system reports before somebody else reads it.

Check it yourself: take last month’s revenue, apply the regional rate for your regency and the final income tax rate, and ask whether that money is currently sitting anywhere. If the answer is that it is in the business, it has already been spent.

What to do this week, before you buy anything

None of the five checks above requires software. Rebuild the cost of three drinks from real invoices. Log the closing difference and who closed, daily, for a week. Reconcile one month of consignment. Count one expensive ingredient twice, a week apart. Work out your two tax layers on last month’s revenue and see whether that money exists. That is roughly four hours of work and it will tell you which of the five is actually your problem.

Cashier software will not do this for you, and that is not a criticism of it — it is a description of what it is for. A point-of-sale records what came in. Four of these five leaks are about what went out, what was owed, or what was never recorded at all. Buying a faster till does not close them, which is why a cafe can adopt one and still not know where the money went.

When the checks show that the problem is real and recurring, the thing worth buying is not a till. It is a system where the recipe, the drawer, the shelf, the vendor share and the tax all read from the same transactions — so the numbers cannot quietly disagree.

That is the layer we build. If you would like us to run those five checks with you on your own numbers first, that conversation is free, and if the answer turns out to be that an ordinary cashier app is enough for you, we will say so.

Want a custom scope for your business? Our free consultation takes 30 minutes — no commitment.

AT
Ashari Tech Engineering

Engineer-led team building production AI, automation, and digital systems for Indonesian businesses.

F&BMarginOperations
// NEXT STEP

Ready to automate your first process?