ButterflyCopilotButterflyCopilot
← Blog

How HarriAnns Cut a Day of Hotel Order Tallies to Two Hours with AI

A hotel's missing pages cost a kitchen 2,000 kueh. HarriAnns stopped asking hotels to use a new portal and taught a system to read the orders they already send.

ButterflyCopilot

Order docket: a whole day of admin work before and two hours after, in Alan Tan’s words in The Straits Times, with the same article’s line that the platform works out the next day’s kueh count in under two hours. A whole day is not printed in hours, so there is no percentage.

0105

In March 2025 a hotel chef rang Alan Tan.

A 2,000-kueh order had never reached the kitchen. Several pages of the purchase order had not been printed, so they never entered the Excel sheet the office built by hand every day.

The kitchen blast-chilled cakes that usually take up to five hours to set. Drivers had two hours' notice. Chefs worked overtime. Some of the cafes ran short. Morale took the hit with them.

That phone call is the reason HarriAnns stopped asking its biggest customers to change the way they order.

The problem

HarriAnns is a third-generation Nonya kueh business. The family sold handmade kueh and glutinous rice from a pushcart in Tiong Bahru, then from a stall at Tiong Bahru Food Centre. In the 1980s Harry Tan and his wife, Annie Lim, named the stall HarriAnns, after the two of them. Their son, Alan Tan, opened the first cafe at Bugis Junction in 2014.

He runs eight cafes now, and the company supplies hotels including The Shangri-La, Paradox Singapore Merchant Court, and Raffles Hotel. The central kitchen is at JTC Bedok Food City. Sharon Goh, Tan's wife and co-owner, put the stakes plainly:

"The entire ecosystem of the company centres on the ordering system."

Hotels send purchase orders as attachments to email. Even inside one hotel, different restaurants and departments send their own. Some are for tomorrow. Some are for next week. Two administrative staff printed them, reconciled the names, and typed the next delivery into a spreadsheet.

The names are the trap. Ondeh ondeh may arrive as sweet potato balls or coconut balls. Curry chicken noodles may arrive as curry noodles or Nonya curry. The kitchen has one product. The inbox has several words for it.

And the kitchen does not wait. HarriAnns makes its cakes the night before delivery, because they need time to cool before they can be sliced and packed. A wrong tally becomes a blast-chiller and a rushed van.

Tan's decision is the one worth copying:

"Hotels deal with many suppliers, and everything is streamlined for their benefit. For us, the opportunity is not to push our own ordering portal, but to use AI to integrate into their ecosystem."

What they built

Singapore consultancy Knovel Engineering built the platform. Development began around July 2025. In June it was rolled out to consolidate online orders and the orders from the eight cafes as well.

Staff can also upload a purchase order themselves. Quantities and delivery dates then show on a screen.

The job is narrow. Read what the customer already sends. Match it to the menu. Add it up for the production night. Ask a person to check before the kitchen starts.

How it works

A production night now runs in a straight line.

Purchase orders land in the inbox, or someone uploads them. The platform reads them and recognises the naming variations across over 120 product codes on the menu for corporate clients and the cafes. It tallies the quantities and works out how many of each kueh the central kitchen has to make for the next day. Delivery dates sit on the same screen, so an order for next week is not baked tonight.

Staff check the output. That check is the job the admin team kept.

There is a second watch, and it looks for what is missing. If a hotel usually orders a particular product and that product is absent, the platform raises an alert. Someone calls the client and asks whether the change was real or a forgotten line. A single purchase order cannot tell you that. You only notice a missing ondeh ondeh if you already know this hotel usually orders it.

Emails and uploads arrive
        ↓
Every order is read, names included
        ↓
Lines are tallied for the next production night
        ↓
A missing usual item raises an alert
        ↓
Staff check the screen and make the calls
        ↓
The kitchen bakes

The results

As reported by The Straits Times, the admin team's whole day became two hours of checking the AI's output. The platform works through the emailed purchase orders and produces the next day's kueh count in under two hours. The system cost less than $50,000 to develop, and Enterprise Singapore's Enterprise Development Grant covered half. The two hours are Tan's description of his own office.

The Ministry of Finance later used the company as a Budget 2026 example: less time managing orders and deliveries, customers served more quickly, and a significant boost in revenue, described in words. Tan told Lianhe Zaobao that an AI system on the daily orders had greatly reduced missed orders, and had cut the waste that comes from the kitchen making too many kueh.

He wants the same view turned forward, so the business can see demand before the order arrives. The company has also talked about more automation in the kitchen, and about data tools for the cafes, while keeping the recipes and the craft.

What other SMEs can learn

Fit their process, not yours. A hotel will not log into your portal so your spreadsheet is easier. The orders will keep arriving in their format, from their system, by email. The win is reading that, reliably.

One product, many names. A reader that guesses "coconut balls" and sends the wrong kueh to the oven has moved the error from the office to the kitchen. Keep an alias table. Let the system propose a match. Let a person approve it once.

One customer, many orders, many dates. Departments still need their own packing lists. The kitchen needs one total per kueh per night. Both can be true if every line keeps the delivery date and the department it came from.

The deadline is the bake, not the inbox. If you make tomorrow's goods tonight, the tally has a hard stop. A late correction is not an admin problem. It is overtime, a short shelf, and a driver who found out too late.

The expensive miss was a page nobody printed. A system that reads attachments still has to show that it read all of them. A "page 2 of 3" with no page 3 is not a small gap. It is how 2,000 kueh disappear.

How to start

If you make food or goods to order for hotels, caterers, offices, or your own outlets, and someone still prints purchase orders into Excel, copy the shape:

Orders arrive by email, upload, the online shop, and the outlet sheet
        ↓
Every page is counted, and every line keeps the page it came from
        ↓
Each item name matches your product code, or it waits for a person
        ↓
Lines add up by delivery date and product, with each customer kept apart
        ↓
The day is checked against what that customer usually orders
        ↓
Staff check one screen and call the customers on the alert list
        ↓
A named person approves, and only then does the bake sheet go to the kitchen

The instruction file below is a design for that smaller desk. It is the brief you hand to an agent. It is not HarriAnns' screen, and it is not Knovel's build.

It will make the agent refuse to run until you name the person who approves the bake sheet, the order inbox, and the cut-off, and until you give it real files for customers, products, aliases, and the delivery calendar. It reads PDF, Excel, CSV, scans, and orders typed in the email body. It counts pages. It leaves a quantity, a unit, or a date blank rather than invent one. It will not count a line under a product name a person has not approved. A resent order is a duplicate. An amended order is a new version. Next week stays next week.

An alert never changes a quantity. A person calls, and records the answer. If the night is bigger than the kitchen can bake, the file flags it and leaves the orders intact. The bake sheet moves only after the named person approves that version.

For the first two weeks, run it in shadow. The agent builds its tally while your staff still build theirs. Compare them line by line. Switch when the agent's sheet is the better starting point, and when every difference has a reason.

The file includes the tests: a three-page order, a missing page, an unknown name, a duplicate, an amendment, a quantity far outside the usual range, a silent regular customer, and a bake sheet that tries to leave early. Time your own office before you talk about a result. HarriAnns' day-to-two-hours belongs to HarriAnns.

Replace every REPLACE line. Delete every SAMPLE row. Then let it sit beside the real tally before it feeds a live kitchen.

Sources

Stay in the loop

Product updates and enterprise AI notes. No spam.