Weigh and time the work
Accurate costing starts with disciplined measurements: ingredient weights, cooking yields, prep time and service time.
About MenuM8
I am Tom, founder of MenuM8, a professional software developer and entrepreneur. I also run ThaiSo Catering with my wife as a side business.
I look after the quotes, admin and systems side of ThaiSo, while my wife is much more hands-on in the kitchen and event delivery. MenuM8 grew out of that practical split: the need to quote quickly, price confidently and understand the real work involved before committing to a menu.
You can find me on LinkedIn, or follow MenuM8 on Facebook.


MenuM8 grew out of the practical work of costing menus, quoting events and serving customers in real trading conditions.
Why it exists
We founded ThaiSo Catering in 2018 and started out using spreadsheets for costings and quotes. At the time, we did not have a good understanding of how long dishes took to prep and cook, and our recipes and ingredient lists changed regularly.
Our first setup used Google Sheets as a product database, with each recipe built as a linked sheet. It sounded sensible, but it was fragile. Sync problems could leave recipe costs wrong, and putting together a quote could take hours.
We made mistakes and underquoted plenty of events, which was good for customers but not good for our bottom line. ThaiSo is much more profitable now, partly because our processes are better, but largely because we have better cost visibility and can plan more intelligently.
Accurate costing starts with disciplined measurements: ingredient weights, cooking yields, prep time and service time.
Batch items such as cooked chicken or curry sauce can be modelled once, then reused across recipes and menu variants.
Templates, custom portion sizes and total labour time make repeat event quotes faster without losing sight of margin.
What MenuM8 is trying to be
I wish we had started with a system like MenuM8. The important thing in food costing is to be systematic: weigh ingredients, time prep, record cooking yields and keep recipes organised as real working processes rather than rough notes.
In MenuM8, we break work into reusable sub-products. For example, cooked chicken can be modelled as its own product because the raw input weight and cooked output weight are different. That yield change materially affects the real cost of a recipe.
We also prep sauces separately and combine them into final dishes. A red curry sauce can be costed once, then used in a chicken variant, a steak variant or another menu item. That is the kind of practical costing structure MenuM8 is designed to support.
Start with demo data, then build a real costing using your ingredients, labour assumptions and menu structure.