Catalog profitability traffic light
All your recipes ranked by real margin, in red, amber and green: which ones lose you money, which run tight, and which have a healthy margin.
What it is
A single screen with your whole catalog ranked by real margin. In red, the recipes selling below their cost; in amber, the ones running tight; in green, the ones with a healthy margin. Money-losing recipes come first, worst on top.
- Route:
https://app.areacacao.com/costs/profitability - How to get there: Sidebar → FORMULATION → Costs → Catalog profitability card (first in the hub).
What a recipe needs to be classified
Two pieces of data, and only two:
- Its cost — the same fully loaded cost as the cost breakdown: ingredients, supplies and packaging, labor with social burden, equipment and overhead.
- Its real selling price — the manual price of one of its sales channels.
If either is missing, the recipe shows as Unclassified with the matching call to action: "Add the selling price" or "Ingredient prices missing". The traffic light never makes a number up.
Why the target margin doesn't count as a price
If a recipe only has a target margin (say, "I want 60%"), the traffic light does not classify it using the price derived from that margin. The reason is mathematical: that price is computed so that the margin comes out at 60%, so the screen would hand you back exactly the number you typed as a wish — an always-green traffic light that measures nothing. Only the price you actually sell at produces a real margin.
The three colors
| Status | Criterion | What it means |
|---|---|---|
| 🔴 Losing money | margin < 0% | The price doesn't even cover the fully loaded cost: every sale subtracts. |
| 🟠 Tight margin | 0% – 25% | Covers the cost, but the cushion is thin for a workshop. |
| 🟢 Healthy margin | > 25% | Reasonable margin over the selling price. |
The margin is computed over the selling price (not over cost — the margin vs. markup difference is explained in Margin, markup, channels and break-even).
Setting prices without leaving the screen
Every unpriced row has an inline Price € field: type the price and press Enter (or leave the field). The price is saved to the recipe's first sales channel, the row reclassifies instantly and the header counters update. It's the fastest way to go from "91 unclassified recipes" to a traffic light with real information: walk the list and type the prices you sell at.
Prices from your purchase book
If a recipe has unpriced ingredients but you already bought those ingredients (purchases from the Operations module, or prices registered under Ingredient prices), the traffic light uses your purchase book price to compute the cost. When that happens, the row says so: "N prices from your purchase book".
Important: those prices are used only for this screen's calculation — the saved recipe is not modified. Prices you type in the recipe always win over the book's.
What you see on top
Five counters: Recipes (total), Losing money, Tight margin, Healthy margin and Unclassified. If any recipe is in the red, a headline says it plainly: "N of your recipes sell below their real cost. They're at the top of the list."
Current limitations
- The traffic light measures margin per unit, not how much money you lose per month: that would require sales volume per product, which the app doesn't know.
- Sub-recipes without their own cost produce a row warning (same behavior as the cost breakdown).