A Recipe is a sellable drink (or pastry, or anything you ring up at the till). You build it by adding lines — each line isDocumentation Index
Fetch the complete documentation index at: https://docs.petakopi.my/llms.txt
Use this file to discover all available pages before exploring further.
{Item, quantity} — and the app sums the line costs to give you per-cup COGS.
Two prices
Each recipe surfaces two suggested prices, and they answer different questions:Quick price
On the Recipes form. Set a target food-cost % (e.g. 25%), the app shoots back a suggested sell price. Fast — but doesn’t account for rent or wages.
Calculator price
On the Calculator page. Full P&L number — covers rent, wages, target margin, and your actual volume.
Menu price (optional, recommended)
Each recipe also has a Menu price (RM) field — the actual price you charge on your menu today. It’s optional, but filling it in unlocks two things:- The Calculator’s Unit economics check card, which compares your real menu prices against your fixed costs and tells you whether the plan breaks even at planned volume.
- The recipe-derived target line on Pulse’s revenue burn chart. With menu prices set, the target reflects what you actually charge — not just what the Calculator suggests.
Example: Hot Coffee Latte
Using the items defined on the Items page, the Hot Coffee Latte recipe has three lines:| Item | Quantity | Per-unit cost | Line cost |
|---|---|---|---|
| Whole milk | 150 ml | RM 0.008 / ml | RM 1.20 |
| Coffee beans | 18 g | RM 0.0889 / g | RM 1.60 |
| Paper cup | 1 | RM 0.30 | RM 0.30 |
| Per-cup COGS | RM 3.10 |
Quick price for this recipe
If you set a target food-cost of 25% on the Recipes form, the Quick price comes back as:RM 3.10 ÷ 0.25 = RM 12.40
That’s the minimum sell price to keep food cost at or below 25% of revenue. Round to a clean menu number (RM 12.50, RM 13) for the till.
For the full P&L picture — what to charge once rent, wages, and target net margin are factored in — feed this same recipe through the Calculator. The Calculator surfaces a different price because it’s solving a different equation (margin on revenue, not food cost as a % of revenue).

