Business Value
- Shows a real food cost. Every dish used to show 0.00.
- Cost matches your stock records and your accounts.
- Runs for all outlets at once, or only the ones you choose.
- Groups dishes by outlet, with subtotals and a grand total.
- Treats wasted refunds and returned refunds differently in the cost.
Use Cases
- Cost controller compares food cost to sales for each outlet in one run.
- F&B manager finds a dish that was fully wasted: full cost and no sales.
- Finance matches the report’s cost to the value posted in the accounts.
How It Works
The report was called Recipe report, and its Cost column showed 0.00 on every row. Cost now comes from the stock the sale used. The recipe is not read.
The Example Below
Every figure on this page uses one setup. Mixed Grill is a non-stock menu item. It sells for 120.00. Its recipe makes 4 portions.
One dish sells for 120.00 and costs 46.25 to make.
- It is sold 6 times in the period, on two invoice lines.
- It is sold from Outlet INC. That outlet has none of the ingredients.
- The sales use 3 kg of Chicken, 0.75 kg of Flour and 1.5 litres of Cola.
Running the Report
- From date / To date: the period of the sales. A sale belongs to the period of its audit date.
- Store: the outlet where the dish was sold. It was called Store id.
- Export options: choose a file type, then Download, Preview or Print.
- It is now optional. Leave it empty to see all outlets. Choose one or more to see only those.
- It filters by the selling outlet only. A dish shows no matter which store its ingredients come from.
How the Cost Is Calculated
- The example row costs 277.50. That is (3 × 80.00) + (0.75 × 20.00) + (1.5 × 15.00).
- The recipe is not read. If you change a recipe after a sale, that sale’s cost stays the same.
- The cost matches the accounts. It uses the same usage lines the accounts posted.
- One invoice line or six gives the same cost.
Report Columns
Sales value is before discounts. Compare it with Cost only for sales with no discount.
How Refunds Are Treated
A refund always lowers Sales qty. Only a returned refund gives the ingredients back.- A returned refund creates a second usage with negative quantities. The two usages cancel out.
- A wasted refund creates no usage. The dish is not sold, but its ingredients are gone.
- Sell 5 dishes twice and return 2 each time: Sales qty 6, Cost 277.50. Six sold, six used.
- Sell 5 dishes twice and waste 3 each time: Sales qty 4, Cost 462.50. Four sold, ten used.
- A dish fully refunded as wasted shows Sales qty 0 and Sales value 0.00, with its full Cost.
- A dish fully refunded as returned shows zero in all three columns.
- Only a dish with no linked usage at all is left out.
Grouping and the Report Header
- Dishes are grouped under the outlet that sold them. Each group has the same five columns.
- Each outlet group has totals for Sales qty, Sales value and Cost. A grand total ends the report.
- The header shows From date, To date and the chosen Stores by name. If you choose no store, it says all outlets are included.
Usages Created by a Sale Cannot Be Rejected
You cannot reject a stock usage that came from a POS sale:- To undo a sale, refund it. The refund creates its own reverse usage.
- Usages entered by hand can still be rejected, as before.
- A bulk rejection rejects the usages entered by hand. It skips the ones created by a sale.