All posts Pricing & margin · 24 May 2026 · 16 min read

Why is my cafe not making money? 7 reasons and the fix for each.

If your café is busy and the bank balance still isn't moving, the cause is almost always one of seven specific structural problems. Here is the math behind each, the warning percentages, and what to actually do — with nouz handling the daily numbers so you spot the leak before it becomes a quarter.

Ibrahim Ölmez Founder, nouz · serial entrepreneur

If your café is full on Saturday and the bank balance still looks the same on Tuesday, the problem is structural — not your fault, but fixable. In ten years of looking at small-café numbers across Europe, the same seven things eat the profit: prime cost above 65%, slow days that quietly lose money, the silent 22-24% bite of card fees plus VAT, menu prices that haven't kept up with suppliers, spoilage nobody tracks, schedules misaligned with demand, and an owner salary missing from the math. This post walks through each with the actual percentages and the fix, then gives you a five-minute diagnostic you can run tonight. nouz tracks all seven of these automatically once your fixed costs and VAT rate are set, so the leak shows up the same day instead of the month after.

TL;DR — the 7 reasons your café is busy but broke

The seven reasons. Prime cost over 65% · slow days below break-even contribution · card fees + VAT silently taking 22-24% · menu prices stale vs supplier increases · spoilage and prep waste not in COGS · schedule misaligned with demand pattern · owner salary missing from the P&L. Most cafés leak in at least four. The fix for each is concrete and below.

Why "busy" doesn't mean profitable for cafés specifically

Cafés have the worst structural ratio of revenue-to-profit of any small retail business. A boutique can sell a €120 dress at 55% gross margin and net €66. A café sells a €4.20 cappuccino, with €0.55 of milk and beans, in a 30-second transaction, on a chair that costs €18/day of rent. The math is unforgiving in a way that owners coming from other sectors often underestimate.

Here is the structural problem in one line: a typical European café needs to turn over its seat 4 to 6 times a day at €4-6 average ticket just to cover prime cost (food + labor) and the day's slice of rent — before any owner profit. On a 32-seat café in Vienna's 7th district paying €4,200/month rent, that's roughly €750-900 of gross revenue every single trading day just to break even. The good Saturdays paper over the Tuesdays. They don't always paper over them enough.

The other structural reality: a café's revenue ceiling is fixed by the physical box. You can't sell more cups than the seats and the queue allow. So the only way to widen the margin is on the cost side — and the cost side is exactly what most owners can't see in real time. We covered the cross-vertical version of this problem here; the seven below are the café-specific cuts. For the wider operating playbook these fit into, see the cafe profitability pillar.

Reason 1: prime cost is over 65% of revenue

Prime cost = food cost (COGS) + labor cost. It is the single most important number in café operations. The industry-standard rule for a healthy small café: prime cost should land between 55% and 65% of net revenue. Above 65%, the math stops working — there is not enough contribution margin left to cover rent, utilities, insurance, software, and you.

Prime cost bandHealthWhat it means
Under 55%ExcellentRare for cafés. Usually only premium-priced or low-labor concepts (drip-only kiosks).
55-60%HealthyTarget zone. Leaves enough margin for rent + owner pay.
60-65%Tight but workableCommon in city-centre cafés with high rent. Margin is real but small.
65-70%WarningYou can survive a quarter here but not a year. Find the leak.
Over 70%Structural problemNo combination of slow days and rent will let this be profitable.

The diagnostic. Pull last month's total food and beverage spend (everything you bought from suppliers, including milk, beans, syrups, pastry, sandwiches). Add total payroll cost (salaries + employer contributions + your own owner salary at market rate — see Reason 7). Divide by net revenue (gross minus VAT). That percentage is your prime cost. Our prime cost calculator runs the math in your browser if you don't want to do it by hand.

The fix when prime cost is over 65%. The split matters. If food cost (COGS) alone is over 32-35%, the problem is on the menu side — see Reasons 4 and 5. If food cost is fine but labor is over 32%, the problem is on the schedule side — see Reason 6. The combined number tells you something is broken; the split tells you which lever to pull. Pulling the wrong lever (cutting hours when the real problem is menu pricing) will hurt service and not fix the margin.

Don't cut labor first. Most owners' instinct when prime cost is high is to cut shifts. If the issue is actually food cost (stale prices, spoilage), cutting shifts makes the café slower without fixing the leak — and the slower service often costs you more revenue than the saved labor. Always split prime cost into food % and labor % before deciding which side to act on.

Reason 2: slow days are losing money silently

Every café has a Tuesday-Wednesday revenue trough. The mistake is treating those days as "quiet but harmless." They are not harmless. On a slow day, the daily slice of fixed cost (rent, utilities, insurance, base salaries that don't scale down) still has to be earned — and on €380 of revenue, after VAT and food cost and your morning barista's 6 hours, there is nothing left for it.

A Vienna café paying €4,200 rent, €1,400 utilities and software, and €600 insurance is carrying €6,200/month of true fixed cost. Divided by 30.4375 (the average days per month — we use this so February doesn't look artificially worse than March), that's €203.78 of fixed cost per trading day. Plus a base barista shift cost of around €120-150 even on a slow day. That means a day below roughly €700-800 of net revenue is structurally a loss day in a café of that size — even if it "felt fine."

Daily break-even (illustrative Vienna 32-seat café)

Rent allocated daily          €138.05  (€4,200 / 30.4375)
Utilities + software daily     €46.00
Insurance daily                €19.73
--------------------------------------
Fixed cost per day            €203.78

Base labor on a slow day      €140.00  (one shift, 6h)
Food cost @ 30% of net revenue
--------------------------------------
Break-even net revenue needed ≈ €700-800
Break-even gross revenue needed ≈ €840-960 (with 20% VAT)

The diagnostic. Look at your last 60 days of daily revenue. Count the days below your break-even number. If 8-12 of the last 60 trading days were below break-even, that's your slow-day leak. Our daily profit calculator shows the contribution margin per day; the days that come back red are the ones quietly costing you money.

The fix. Two paths, sometimes both. Path A: shrink the fixed cost on slow days — close one hour earlier on Tue/Wed if footfall data shows the last hour does under €40 of revenue. Path B: add revenue to the trough — coworking discount before 11am, prepaid coffee subscriptions that bias customers toward weekday visits, evening events that use otherwise-empty space. The wrong fix is "wait for it to pick up." Slow days do not heal themselves; they have to be either trimmed or repurposed.

Reason 3: card fees + VAT are silently eating 22-24% of gross revenue

This is the leak owners feel least and lose most to. A €4.20 cappuccino paid by card in Vienna: €0.70 is VAT (20%), and roughly €0.06-0.08 is card processor fee. Of the €4.20, you keep €3.42-3.44 before food cost, before labor, before rent. That's 81-82% of gross — meaning 18-19% has already left the building before any operating cost is paid.

In Germany the VAT split is slightly different (19% standard, or 7% reduced for takeaway food in some categories). In France 20% / 10% / 5.5% across categories. Switzerland 8.1%. The number changes by country, but the pattern is identical: VAT plus card fees together take 22-24% off gross revenue in most EU cafés running 60-80% card volume.

CityStd VATTypical card mixEffective card fee %Combined bite of gross
Vienna20%70% card1.5%~17.4%
Berlin19% / 7%55% card1.3%~14-17%
Munich19% / 7%50% card1.3%~13-16%
Paris20% / 10%75% card1.4%~17-18%
Amsterdam21% / 9%85% card (iDEAL/card)1.2%~17-19%

Note: the German and French rows split because reduced VAT applies to takeaway in many cases. This is exactly the kind of detail that gets miscalculated on a spreadsheet — and exactly why card-fee and VAT calculation belongs in the daily entry flow, not as a quarterly adjustment.

The diagnostic. Pull last month's gross revenue and net revenue. The gap should be roughly your VAT amount plus your card fee amount. If the gap is bigger than you expected, you're probably not splitting cash vs card cleanly — and your fee calculations are off. nouz separates cash and card at entry, so card fees apply only to card revenue, never to cash. Spreadsheets that don't split the two over-charge fees on cash and undercount the real bite on card.

The fix. Two concrete moves. One: at €5,000+/month in card volume, negotiate. SumUp, Stripe, Adyen, Mollie, Vivawallet, Worldline, Nexi — every processor in Europe has a published rack rate and a quieter discounted rate for established merchants. Asking once a year typically shaves 0.2-0.4 percentage points. On €40k/year of card volume, that's €80-160 back in your pocket for one email. Two: price with both fees baked in. If your €4.20 cappuccino is calibrated to a 30% food cost but you forgot to bake in 1.5% card fee, you're selling at a 31.5% effective cost. Multiply across 80,000 cups a year and the price gap matters.

Card fees apply to card only. Important detail many spreadsheets get wrong: card transaction fees apply to card sales only, never to cash. If you don't separate cash and card at entry time, your fee math will be off by 30-50%. nouz enforces the split — cash and card are separate fields on every entry, and the fee formula applies only to card.

Reason 4: menu pricing hasn't been updated since supplier costs rose

Café food cost drifts upward continuously. Milk goes up 6% in March. Beans go up 9% in June. Flour and butter for pastries drift 4-7% across a year. If you set your menu prices in January and haven't touched them since, your real food cost percentage is 2-4 points higher than your menu math suggests — and you don't feel it day-to-day because each price increase is small.

A concrete example. Café in Munich, sets cappuccino menu cost at €0.52 (milk, beans, cup, syrup) against a €4.00 price in February. Food cost ratio on that drink: 13%. Lovely. By October the wholesale milk price has climbed 8%, beans 11%, and the takeaway cup supplier raised lids 5%. New true cost: €0.59. Same €4.00 price. Real food cost ratio: 14.75%. The drink is netting €0.07 less than the books say. Across 11,000 cappuccinos in 8 months, that's €770 of margin that quietly evaporated — and nothing in the till receipt told you.

Multiply across every drink, every sandwich, every pastry where the supplier raised prices, and a café that "set the menu in January" can be 2-4 percentage points heavier on COGS by October without realising. That's the difference between a healthy 28-30% food cost and a warning-zone 32-34%.

The diagnostic. Pull your last supplier invoice for your top 5 ingredients (milk, beans, sandwich bread, the busiest pastry, takeaway cups). Compare unit prices to what you had six months ago. If any has risen more than 4%, your menu cost math for any product using that ingredient is now stale. Run the food cost percentage calculator with the current supplier prices, then compare to the price you're actually charging. The gap is the drift.

The fix. Quarterly menu cost review. Every three months — first Monday of January, April, July, October — re-cost the top 10 menu items using the most recent supplier invoices. If true food cost on a product is now over 32%, either raise the price by €0.20-0.30 (most cafés survive this with no measurable demand drop) or change the recipe (smaller cup, different milk supplier, sub-brand pastry). The mistake is to do this exercise once a year. Once a year is once too late.

Reason 5: spoilage and prep waste are eating COGS you don't see

The pastries you binned at close. The milk that soured because Thursday was quieter than expected. The bag of beans that ran out of freshness window. The sandwich prep that didn't sell. Most cafés track inventory purchased (the supplier invoices) but never inventory destroyed. The gap shows up as a food cost that looks worse than the recipe math says it should — because the destroyed inventory was paid for but never recovered through a sale.

Industry benchmarks: a tightly-run café loses 3-5% of food purchases to spoilage. A loosely-run one loses 8-12%. Pastry-heavy cafés (which run more leftover product) sit higher than drink-only kiosks. On €4,000/month of food spend, the gap between 4% and 10% spoilage is €240/month — €2,880/year — that you are paying for and throwing out.

The diagnostic. For two weeks, weigh and log everything that goes in the bin at end of day. Pastries unsold. Bread heels. Milk poured out. Pre-prepped sandwiches not sold. Don't change anything about your routine for the two weeks — just log. At the end, total the cost of binned product and divide by total food purchases. If it's above 6%, you have a spoilage leak worth fixing.

The fix. Three concrete moves. One: par levels. The pastry case has been holding 18 of each kind because that's how you opened. Drop to 12 for two weeks. If you sell out, raise to 14. The point is to find the level just below "always have leftovers." Two: end-of-day discount, not bin. The 6pm 50%-off pastry shelf recovers €0.80 from a product that would have been €0 in the bin. Across a year, this alone often closes 1-2 points of food cost. Three: milk routine. Mark every open carton with the open-date. Use oldest-first religiously. Most café milk waste isn't spoilage; it's a barista grabbing the wrong carton in the rush.

Reason 6: your schedule is misaligned with demand

Café labor cost is the most visible cost on the P&L — and the one where mistakes compound fastest. Two-barista shifts running Tuesday 10am-1pm when transaction data shows that window does €60 of revenue. One barista alone trying to handle Saturday 9-11am when 40% of weekly revenue lands. Both are common; both leak money in opposite directions.

A typical small café in Berlin pays €14-16/hour gross (including employer contributions, this is closer to €19-22/hour all-in). One unnecessary hour of staffing per day across a year is €6,900-€8,000 of pure leak. Two unnecessary hours — entirely plausible on a café that opens "because we always have" — is €14,000-€16,000.

The diagnostic. Pull your transaction count by hour for the last 60 days. Group by day-of-week. For each (day, hour) cell, calculate: revenue per labor-hour scheduled. Healthy cells are above €60/hr. Yellow cells are €30-60/hr. Red cells (below €30/hr) are losing money on labor. The pattern almost always shows: a few red cells you didn't know existed, usually opening hour Tue/Wed/Thu and the dead 2-4pm window.

The fix. Two moves. One: shift the schedule, don't cut hours. If 8am-9am Tuesday is dead, open at 9am Tuesday — keep the same total hours, just shifted to where revenue lives. Two: the second-barista rule. A second barista is only on shift when transaction rate exceeds what one barista can handle (typically 35-40 transactions/hour). If Saturday 9-11am is hitting 50+/hour, you need two; if Tuesday 2-4pm is hitting 8/hour, one is plenty. The labor cost percentage calculator shows whether your overall labor % is in the healthy 28-32% band; the hourly diagnostic shows where the misalignment lives.

Schedule changes need 2-3 weeks of data. Resist re-cutting the schedule after one bad week. Demand patterns have weekly and weather noise. Look at 8-12 weeks of hourly transaction data before changing anything, then make one change at a time and watch for 3 weeks. Cafés that re-cut every Friday based on the last 7 days create schedule chaos and end up over-staffing to compensate.

Reason 7: your own salary is missing from the math

This is the reason most owners don't want to hear, and the one that most often turns an apparently-profitable café into an actually-loss-making one when honestly accounted for. If you work 60 hours a week in the café — opening, shifts, ordering, payroll, books, supplier calls, the lot — and pay yourself only what's left after every other bill is settled, then the café's reported profit is overstated by the value of your unpaid time.

A 60-hour owner-week, at market rate for a head barista / shift manager in central Europe (€15-22/hour all-in), is worth €3,900-€5,700 per month. If the café "makes €1,500 of profit" but consumes €4,500/month of your time at market rate, the café is not making €1,500 — it is losing €3,000 of your time-value to produce €1,500 of cash. You are subsidising the business by working below market rate.

This isn't an accounting trick. It is the difference between owning a café that pays you and owning a job in a café that doesn't pay much. The honest test: if you took a sick week and had to pay a manager to cover everything you do, what would the manager cost? That number is your owner-salary line.

The diagnostic. Add an owner-salary line to your monthly fixed costs equal to what you'd pay someone else for your hours. Re-run the P&L. If EBIT is still positive after that line, your café is genuinely profitable and pays you. If EBIT goes negative, the café isn't profitable yet — and now you can see by how much, which tells you what has to change.

The fix. Budget the owner salary as a fixed cost from day one, even if you don't actually pay it to yourself every month. Treat the gap between what you'd pay a manager and what you actually pay yourself as a real cost. Then you can have honest conversations: raise prices to close the gap, cut hours so the gap shrinks, or accept that the café model needs to change. We covered this leak more broadly here.

The 5-minute café diagnostic

Pick a typical week — not a holiday, not the slowest week of January, just a normal week. Pull last month's numbers. Run these seven checks in order. Each takes under a minute.

  1. Prime cost check. (Food spend + payroll including owner-market-rate) ÷ net revenue. Over 65%? Reason 1.
  2. Slow-day check. Of last 30 trading days, how many were below your break-even net revenue (roughly €700-900 for a small EU café)? Over 8? Reason 2.
  3. Card fee + VAT check. Gross revenue minus net revenue, divided by gross revenue. Over 24%? Likely Reason 3 — VAT or cash/card split is wrong.
  4. Menu drift check. When did you last re-cost your top 5 menu items against current supplier prices? Over 3 months ago? Reason 4.
  5. Spoilage check. What goes in the bin at close, weighted by cost? No idea? Reason 5 — log for 2 weeks before deciding.
  6. Schedule check. Revenue per labor-hour by (day, hour) cell. Any cell under €30/hr that recurs weekly? Reason 6.
  7. Owner salary check. Is there a line in your fixed costs called "owner salary" set at market rate for your hours? No? Reason 7 — until that line is there, your profit number is fiction.

Most cafés that run this honestly find they are leaking on 4 of the 7 reasons. Two will be obvious and probably already on your mind. Two will be a surprise. The surprise ones are usually where the recoverable margin lives.

The shortcut. Our free daily profit calculator runs the per-day version of this for free in your browser — gross in, fees and VAT and COGS and fixed slice out, real EBIT at the bottom. For the seven-reason monthly view, nouz tracks all of it automatically once your fixed costs and VAT rate are set. Or try the live demo first — no signup needed.

What changes in 90 days if you fix the top 3

You will not fix all seven in a month. You should not try. The realistic plan: fix the top three in 90 days, see margin recover by 4-7 percentage points, and use the recovered margin to fund the slower structural fixes (Reasons 6 and 7) over the following quarter.

In our experience working with small EU cafés on their daily numbers, the three fastest wins are almost always: Reason 3 (card fee negotiation + cleaning up the cash/card split, recoverable in week 1 with one email and one config change), Reason 4 (a quarterly menu re-cost session takes 90 minutes and recovers 1-3 percentage points of food margin), and Reason 5 (two weeks of spoilage logging, then par level changes, recovers another 1-2 points). Together those three typically move EBIT from break-even or slightly negative to 5-9% positive — without touching staffing, pricing, or hours.

The structural fixes — owner salary properly funded, schedule re-cut to demand, slow days repurposed — take longer and need more honest conversations. But they only become possible once the quick three have created the margin headroom to act from. A café running at -2% EBIT cannot afford to "raise prices and lose 10% of customers" because the cushion isn't there. A café running at +6% EBIT can.

For the deeper context on why daily visibility matters more than monthly reporting for catching these leaks, see daily vs monthly P&L and same-day profit and loss. The shorter version: an accountant's monthly P&L tells you what already happened. A daily P&L tells you what to change tomorrow. For a café, where the margin lives in the third decimal place, "tomorrow" is the only useful timescale.

Start with one day. You don't need to set up the whole P&L to see whether today made or lost money. Open the daily profit calculator, plug in today's gross, your VAT rate, your card mix, and your fixed cost monthly total. The number that comes back is your real EBIT for today. Most owners run it once and immediately want to set up nouz properly — because seeing it once changes how the next Tuesday feels.

FAQ

Why is my coffee shop losing money even though we are busy?

The most common cause is prime cost (food + labor) over 65% of net revenue combined with card fees + VAT silently taking another 22-24% off gross. Busy hides the leak because gross sales look strong, but the leak is on the cost side and only shows up when you compute EBIT daily. Run the 5-minute diagnostic above; the leak is almost always in two or three of the seven reasons.

What is a healthy profit margin for a small café in Europe?

EBIT margin in the 6-12% range of net revenue is typical for a healthy small café; 12-18% is top-quartile and usually requires either premium pricing or a low-rent location. Under 5% EBIT is a structural warning. Prime cost (food + labor) should land between 55% and 65% of net revenue; food cost alone 28-32%, labor 28-34%. Numbers vary by city — Vienna and Paris cafés typically run higher rent burdens than Berlin or Lisbon.

Why does my POS show revenue that does not match my bank deposit?

Three reasons. First, the POS shows gross sales (including VAT and pre-fee), but the bank receives card revenue net of processor fees a few days later. Second, card settlements take 1-3 business days, so today's POS does not match today's bank. Third, cash sales are reconciled separately and often deposited in batches. To reconcile, compare a full week of POS gross to the same week's bank deposits net-of-fees plus cash deposits. They should match if no cash is mishandled.

How do I know if my café's prime cost is too high?

Pull last month: total food and beverage spend plus total labor cost (including your own time at market rate), divided by net revenue. Above 65% is the warning band; above 70% is structurally unprofitable. Split the number into food % and labor %. If food alone is over 32%, the problem is menu drift or spoilage (Reasons 4 and 5). If labor alone is over 32%, the problem is schedule misalignment (Reason 6). The prime cost calculator runs the math.

Should I cut staff first if my café is not profitable?

Usually no — and this is the most common mistake. Cutting staff hours when the real leak is menu pricing or spoilage makes the café slower without fixing the margin, and slower service often costs more in lost revenue than the saved labor. Always split prime cost into food % and labor % first. Only cut labor if labor alone is over 32% of net revenue and the hourly transaction data shows specific dead cells. Otherwise the fix is on the food side or the fixed-cost side, not the staffing side.