Skip to main content
Shows the real cost of every dish sold, from the stock the sale used.

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.
The row shows Sales qty 6, Sales value 720.00 and Cost 277.50. Before, Cost showed 0.00.

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.
Two things about Store have changed:
  • 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.
Invoices that are not fully paid are left out, as before.

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.
Each stock usage line created by a sale records its invoice line. This link lets the report cost each dish. A usage line with no link does not come from a sale. It was entered by hand or created by a store settlement.

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.
Rows with zeros still show.
  • 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.

The Report’s New Name

The report is renamed Recipe Sales in the Inventory reports list and in its heading. Its address does not change. Old links still open it.

Periods Before This Change

Usage lines created before this change have no link to an invoice line. Sales made before this change do not show. A report for an earlier period returns no rows.