Guide

Food costing and inventory, for restaurants that ship their stock in

Know the cost of every plate from the ingredients that went into it, watch stock move as dishes sell, and turn "we're low on prawns" into a purchase order before the next boat.

Why cost per plate is the number here

Margin in a restaurant is decided long before anyone looks at a P&L. It is set by what each dish costs to produce and how often that cost moves — and in the Maldives it moves more than most places, because a large share of what a kitchen uses arrives by sea on somebody else's schedule.

That has two consequences a mainland operator can afford to ignore. A stockout is not a trip to a supplier; it is a dish off the menu until the next delivery. And a price rise on an imported ingredient does not announce itself — it arrives inside an invoice, and unless something connects that invoice to the dishes that use the ingredient, the menu quietly stops making money while every number on the sales report still looks healthy.

Which is why costing and stock belong to the same system as the till. If the sale and the stock movement are two separate records kept by two separate people, they will disagree, and the disagreement will be discovered at month end.

A recipe is what makes a POS an inventory system

A recipe records what goes into a menu item and how much of each. When a customer orders it, Foodops deducts those ingredients from stock and attaches the exact food cost to that sale. That one link is the difference between a system that tracks sales and one that tracks a business: without it, stock levels only change when you receive purchases or correct them by hand. Recipes and ingredient management

Ingredients are inventory items in their own right, with units and stock levels, so the thing you buy in kilos and the thing you cook in grams are the same record. Ingredients

Recipes attach to items that already exist on the menu, which keeps the catalogue the single source of what you sell. Menu items

Change a sauce once, not in six places

Most kitchens have components rather than only finished dishes: a stock, a sauce, a marinade that shows up across the menu. Costing those as if each dish contained raw ingredients means every supplier change has to be entered six times, and the sixth one is the one that gets missed.

A sub-recipe is costed once and used by every dish that contains it. Change it and the dishes that use it update together — which is also how a small rise on one imported ingredient becomes visible across the menu instead of hiding in it. Sub-recipes

Stock that has a history, not just a number

Stock is three connected things: what you hold, the corrections you make to it, and the movements between locations. Waste, breakage, a stocktake result and a freezer failure are recorded as what they were rather than folded into one figure, so a difference at month end can be read back rather than guessed at. Inventory, stock adjustments and transfers

Transfers between stores are recorded on both sides, so a kitchen that ran out while the delivery was fine is a visible movement instead of an argument. Stock transfers

Costs already used stay frozen on the transactions that used them. Last month keeps the numbers it was run on, so an earlier report remains a thing you can cite. Historical costing

From low stock to a purchase order without retyping anything

When an ingredient drops below its threshold it collects on a reorder list automatically, with a quantity, a priority and a supplier. You can add to it by hand too. Selected lines become a purchase order or a supplier email in one step, and each line tracks through not purchased → purchased → received, so the list always shows what is still outstanding. Shopping list

A purchase order carries the full lifecycle — ordered, received, billed — rather than being a note that stock is coming. Purchase orders

Suppliers keep their own balances, so what is owed to whom is a number you can read rather than one you assemble from invoices. Suppliers

What the numbers are for

Stock aging, day summaries, purchase reports and supplier balances all derive from the same records as the sales — which is the point. A costing report assembled in a spreadsheet beside the system is a second version of the truth, and the two diverge quietly. Reports catalogue

The live view answers the questions that get asked during service — what has sold, what it made, what is running low — without exporting anything. Dashboard

Purchases carry input tax and sales carry output tax, tracked separately, so the cost side and the tax side come out of one set of records at filing time. Input and output tax

Where restaurants usually start

The common mistake is trying to cost the whole menu before going live. It is not necessary and it usually stalls the launch. The counter works without recipes; a kitchen can be selling on day one and costing by the end of the month.

A workable order: get the catalogue right first, because everything else hangs off it. Then add the ingredients you actually buy, with their units. Then recipe the dishes that matter most — usually the twenty that make up the bulk of covers, not all ninety. At that point the reports start telling you something true, and the remaining dishes can follow as you have time.

The part worth not deferring is the low-stock threshold on anything that comes by sea. That is the setting that turns a stockout from a discovery into a warning.

Common questions

What is food costing, in practice?

Knowing what a plate costs you to make, from the ingredients that actually went into it. A recipe records what goes into a dish and how much of each; when the dish sells, those ingredients come off stock and the sale carries its real cost. The useful output is not a number in a spreadsheet once a quarter — it is the margin on every dish, moving as your purchase prices move.

Does stock update automatically when I sell something?

Once the dish has a recipe, yes — the sale deducts the ingredients. Without recipes, stock only changes when you receive a purchase or adjust a number by hand, which is the state most restaurants are in and the reason their stock figures and their sales figures disagree.

What about a sauce used in six dishes?

That is a sub-recipe: you cost it once, and every dish that uses it inherits the change. Adjust the sauce and the six dishes reprice themselves rather than being edited one at a time — which is also how a small supplier price rise stops being invisible.

If a supplier raises a price, do my old reports change?

No, and that is deliberate. Historical costs stay frozen on the transactions that used them, so last month keeps the numbers it was actually run on. A system that reprices the past makes every earlier report unciteable — you can no longer say what a period cost, only what it would cost today.

How do I stop running out mid-service?

Ingredients carry a low-stock threshold. When one falls below it, the item collects on the shopping list with a priority and a supplier, and the lines you select become a purchase order or a supplier email in one step. On an island, where the replacement is a boat away rather than a van, the gap between noticing and ordering is the part that costs money.

Can I track waste, breakage and a failed freezer?

Yes — as stock adjustments, recorded as what they were rather than absorbed into a count. A write-off after a freezer failure, a stocktake correction and a transfer between stores are different events with different reasons, and the audit trail keeps them distinct so a month-end difference has a history.

Does it handle more than one store or kitchen?

Yes. Stock transfers move goods between warehouses with a record on both sides, so "the delivery was fine but the kitchen ran out" becomes a visible movement instead of an argument.

Do I need to do all of this before I can start selling?

No. The counter works without recipes or stock — plenty of restaurants start there and switch costing on later. Turning it on is what upgrades the system from a sales tool into a real inventory system, so it is worth doing, but it is not a barrier to going live.