There is a very specific kind of work that seems to happen after the cafe is closed. It is not glamorous work. It is not the part anyone sees on Instagram. It is the part where you are sitting there at midnight trying to build out margins for the menu.
That is when the questions start piling up. What is the actual cost of this drink? What is the cost of goods sold on this item? What changed since the last time I looked? Is this product actually profitable, or does it just feel busy because people order it?
I have found myself in that exact place enough times that it started to feel a little ridiculous. Running the cafe already takes the whole day. Then the work that tells you whether the cafe is healthy waits for the part of the day when you are least equipped to do it carefully.
The Shortcut Is Not Enough
There is an easy version of this now. You can throw a recipe into ChatGPT and ask for a rough margin. You can paste ingredients, guess prices, and get a high-level answer that is probably directionally useful.
That is honestly not nothing. Sometimes directionally useful is better than staring at a blank spreadsheet.
But it is not enough if you are trying to make real decisions over time. A margin is not just one answer on one night. It changes when milk goes up. It changes when your matcha supplier raises prices. It changes when the recipe changes, when the portion changes, when packaging changes, or when a modifier becomes more popular than expected.
If the calculation is not connected to the business, it becomes another snapshot that slowly goes stale. That is the problem I kept running into.
The Reporting Side Is Different From the Operator Side
Before CafeTally, I worked on the reporting side of POS software. That gave me one view of the problem. You think about dashboards, numbers, exports, and what a business might want to know.
Running an actual cafe gives you a very different view.
On the operator side, the question is not just whether a report exists. The question is whether the report matches the way the work actually happens.
Can I update the cost without rebuilding the whole recipe? Can I see which products use an ingredient? Can I trust that the number is based on the receipt I actually paid? Can I understand the margin without opening five tabs, three spreadsheets, and a calculator?
That gap is what made the midnight work feel so frustrating. The data existed somewhere. It just was not connected in a way that matched the job I needed to do.
Why CafeTally Needed Costing
CafeTally started as an inventory app because inventory was the obvious pain. I needed a better way to count items, track what was on hand, and keep the cafe from running on memory.
But inventory quickly led to costing.
Once you know what you buy, you naturally want to know where those costs go. Once you know what ingredients are moving, you want to know which products depend on them. Once you see supplier prices changing, you want to know whether the menu still makes sense.
That is why a costing module became the next logical piece. Not because I wanted more software for its own sake. Because I wanted fewer midnight spreadsheet sessions.
What I Want Instead
I want the system to remember the boring parts. If a receipt comes in, the ingredient cost should be captured. If that ingredient belongs to a recipe, the product margin should update. If the margin gets weird, the owner should see it before the problem has been quietly sitting there for two months.
That does not remove judgment. It gives judgment a better starting point.
Maybe you keep the item because customers love it. Maybe you raise the price. Maybe you change the recipe. Maybe you cut it.
Those are owner decisions. The software should make the tradeoff visible instead of forcing the owner to reconstruct the math at the worst possible hour.
Where I Am Landing
The more I build CafeTally, the more I think small operators do not need fancier dashboards first. They need the tedious parts connected.
Receipts should connect to ingredients. Ingredients should connect to recipes. Recipes should connect to products. Products should connect to margins. Margins should connect back to decisions.
That is the chain I want CafeTally to handle. Because if the only time you can understand your margins is midnight, the system is asking too much from the owner.
Want to try CafeTally early?
We are looking for a small group of cafe owners who want hands-on setup and are willing to give honest feedback.