Square How-Tos

Café Labour Cost Percentage: Benchmarks and Square Shifts Setup

By The Tany Team 11 min read

Labour is the line item that quietly decides whether a café makes money. Coffee costs are visible and negotiable. Rent is fixed and known. Labour is neither — it drifts, shift by shift, and by the time you notice it in a P&L the quarter is already gone.

This is a practical guide to three things: what the real published benchmarks say (and what they don’t say), the definitional trap that makes almost every café owner think they’re leaner than they are, and how to use Square’s own reports to schedule against your actual hourly sales rather than a gut feeling about Saturday.

What labour percentage should a café run at?

Let’s start with the uncomfortable part. There is no credible published labour benchmark specifically for coffee shops. Search for one and you’ll find figures ranging from 20–30% to 30–35%, spread across a dozen blogs that all cite each other and none of which name a survey, a sample size, or a methodology. That spread is the tell.

The closest defensible figure comes from the National Restaurant Association’s 2025 Restaurant Operations Data Abstract, built on 2024 financials from 900+ operators. Use the limited-service row — it’s the nearest published proxy for a café:

Segment (median, salaries & wages including benefits, % of sales)AllProfitableLoss-making
Fullservice36.5%34.2%42.9%
Limited-service (QSR)31.7%30.0%34.1%

The valuable number there isn’t 31.7%. It’s the four-point gap between profitable and loss-making operators — 30.0% versus 34.1%. That’s a genuine profitability signal from real financials, not a rule of thumb. Four points of sales is the difference between a café that works and one that doesn’t.

For context on how much has changed: across the NRA’s 2010, 2013 and 2016 reports, wages plus benefits averaged around 28% of sales for limited-service. Today’s costs are meaningfully elevated against that history, which is worth remembering before you conclude you’re running the place badly.

The mismatch that fools almost everyone

Here is the single most useful thing in this article.

The NRA figure includes benefits. Square’s Labor vs Sales report does not. Square calculates labour as hours worked × hourly rate — excluding payroll taxes, statutory contributions, benefits and tips.

So a café owner who opens Square, sees 26%, and compares it to the 31.7% benchmark concludes they’re running four to five points leaner than the industry. They aren’t. They’re comparing a smaller definition to a bigger one.

Before you benchmark anything, add your employer-side costs to Square’s number: payroll taxes, EI and CPP contributions in Canada or FICA in the US, workers’ compensation premiums, vacation accrual, and any benefits you pay. Only then is the comparison honest. The gap between the two definitions is typically several points of sales — enough to reverse the conclusion entirely.

Prime cost, briefly

Labour rarely gets managed alone. Prime cost — cost of goods sold plus total labour, as a percentage of total sales — is the number most restaurant accountants actually watch, because it captures the trade-off between the two. Bring in cheaper beans and labour goes up if the workflow gets harder; automate and COGS moves.

The commonly cited target is 60–65% of sales, with quick-service typically at the lower end. Be clear-eyed about what that number is: it’s a widely used operator heuristic promoted by accounting firms and software vendors, not survey data. There is no NRA-published prime cost benchmark we could verify. Use it as a directional guardrail, not a grade.

What you can actually see in Square

Square’s labour reporting is better than most owners realise, and gated in ways most owners discover at the worst moment.

The paywall, up front: the Labor vs Sales report requires a Square Shifts Plus subscription and a wage assigned to every team member’s profile. If you’re on Shifts Free, the report simply isn’t there.

PlanCostNotes
Shifts Free$0Up to five team members including the account owner; basic Shifts features
Shifts Plus$4.50 CAD / team member / month (Canada)Includes the account owner; Square states discounts for larger teams; required for Labor vs Sales

Plans are not prorated — upgrades, downgrades and cancellations bill through the end of the month. Pricing outside Canada varies by region; check Square’s pricing page for your market rather than trusting a converted figure. Separately, Square Advanced Access (custom permissions, activity logs, team badges) is bundled with Square Plus at $49/month per location or Square Premium at $149/month per location — a different product from Shifts, and a common source of confusion. We cover the permissions side in Square team management and staff permissions.

The four reports worth knowing

  • Labor vs Sales — Reports → Operations → Labor vs sales. Compares hourly labour cost to net sales, explicitly framed by Square as a way to optimise staffing for peak times. Shifts Plus required.
  • Labor % of net sales — Square Dashboard app → Home tab → Labor performance. The fast daily glance.
  • Scheduled vs Actual Labor — Dashboard app → Staff tab → Timecards. Requires scheduled hours to be set up. This is where you catch the slow bleed of shifts that consistently run 20 minutes long.
  • Sales summary grouped by hour — Reports, with date-range and grouping controls. The raw material for everything below.

One useful setup step most owners skip: Custom Reporting Hours turn your day parts into first-class filters. Square Dashboard → Reporting → Reports → Settings → Reporting Hours → Add reporting hours, then name a window (morning rush, midday lull, afternoon), set the timezone and start/end times, and save. Now “how did the 7–10am block do” is one click instead of a spreadsheet.

Two things Square does not do, so you don’t waste an afternoon looking: there is no native sales per labour hour report, and there is no built-in heatmap view. Both are easy to build yourself from an hourly export — see below.

Building the schedule from your own data

The benchmark tells you whether you have a problem. Your hourly data tells you where it is.

Step 1 — Export four weeks of hourly sales

Set the sales summary to group by hour, across at least four weeks. Fewer than four and one rainy Tuesday distorts the whole picture. Export to CSV.

Step 2 — Build the heatmap yourself

Pivot the export into a grid: days of the week down the side, hours across the top, net sales in the cells. Apply conditional formatting. Ten minutes of spreadsheet work produces the single most useful document in your operation — the actual shape of your week, rather than the one you remember.

Nearly every café that does this finds the same two surprises: the morning peak is narrower and sharper than assumed (often 45–60 minutes, not three hours), and there’s a dead block in the early afternoon that’s been fully staffed for years out of habit.

Step 3 — Calculate sales per labour hour

Total sales ÷ total labour hours, for the same period. Do it per day part, not just per day.

SPLH is the useful complement to labour percentage because it doesn’t move when your average ticket does. Raise prices 5% and your labour percentage improves without a single scheduling change — which feels like progress and isn’t. SPLH keeps you honest about whether the staffing actually got better.

Step 4 — Fix one shift, then measure

Change the single worst-performing shift. Run it two weeks. Check Labor vs Sales again. Then change the next one.

Rewriting the whole schedule at once is the classic mistake: labour percentage moves, you have no idea which change did it, and you’ve spent all your staff goodwill in one go on changes you can’t evaluate.

A worked example

These numbers are illustrative — a composite used to show the arithmetic, not data from a real café.

Take a single-location café in Ontario doing $45,000 CAD in monthly net sales, with a team of six. Ontario’s general minimum wage is $17.60/hour through September 30, 2026, rising to $17.95 on October 1, 2026, so call the blended hourly rate $19.25 across baristas and a shift lead.

Say the schedule runs 640 hours a month:

  • Square’s Labor vs Sales figure: 640 × $19.25 = $12,320, or 27.4% of net sales
  • Looks excellent against the 31.7% benchmark. It isn’t a like-for-like comparison.
  • Add employer costs at roughly 15% (payroll contributions, vacation accrual, workers’ comp): $14,168, or 31.5%

The real position is at the industry median, not five points ahead of it — and one point above the 30.0% profitable-operator figure. Same café, same schedule, completely different conclusion. Everything depends on which definition you used.

Now suppose the heatmap shows 2–4pm on Tuesdays and Wednesdays running at a third of peak sales with two people on. Cutting one person for those two hours on two days is 16 hours a month — about $308 in wages, roughly $354 loaded. That’s 0.8 points of labour percentage from a single change nobody will notice on the floor.

Note the shape of that: it isn’t dramatic. Labour management in a café is a dozen decisions like that one, not a heroic restructuring.

If you’re in the US

Wage floors differ enormously and the arithmetic changes with them. The US federal minimum wage is $7.25/hour, with tipped employees requiring a direct cash wage of at least $2.13/hour and a maximum tip credit of $5.12 — and if cash wages plus tips don’t reach $7.25 in a workweek, the employer makes up the difference. Many states mandate a higher direct wage, so check your state before modelling anything. In British Columbia, for comparison, the general minimum wage is $18.25/hour as of June 1, 2026, with annual increases now tied automatically to prior-year inflation.

The demand side of the equation

Everything above treats sales as fixed and staffing as the variable. The bigger lever is often the reverse: change the shape of demand and the labour math changes with it.

A concentrated 8:00–8:45am rush forces you to staff for the peak and pay for the trough. Order-ahead spreads that peak — customers place orders across a wider window, the bar works a queue instead of a crowd, and the same volume needs fewer bodies at the counter. That’s the operational argument in reducing morning rush wait times, and it shows up directly in your Labor vs Sales report as a flatter hourly curve.

It also raises sales per labour hour without touching the schedule, because a barista building queued mobile orders is producing more drinks per hour than one alternating between the till and the bar.

A branded order-ahead app on your existing Square POS is one way to get there — Tany builds them for independent cafés, live in about a day at $99 CAD/month per location, with orders flowing into the Square setup you already run. It’s not a scheduling tool and won’t fix a schedule built on habit. It changes the demand curve the schedule has to cover, which is the harder half of the problem.

The monthly routine

  1. Pull Labor vs Sales for the month. Note the percentage.
  2. Add your employer-side costs. That is your real number.
  3. Compare against 30.0% (profitable limited-service) rather than 31.7% (all operators). Aim at the profitable cohort.
  4. Recalculate sales per labour hour per day part.
  5. Identify the single worst shift. Change only that one.
  6. Re-check in two weeks.

Six steps, once a month, maybe forty minutes. For the vast majority of independent cafés, it’s worth more than any new revenue initiative — because a labour point is pure margin, and you don’t have to sell anything extra to get it. For the reporting fundamentals underneath all of this, see our guide to Square sales reports and analytics.

Sources

Step by step

  1. 1
    Enter a wage for every team member

    In Square Dashboard, open each team member's profile and assign an hourly wage. Square's labour reports calculate from hours worked multiplied by hourly rate, so any team member without a wage silently drops out of the numbers and makes your labour percentage look better than it is.

  2. 2
    Confirm which Shifts plan you are on

    Shifts Free covers up to five team members including the account owner. The Labor vs Sales report requires a Shifts Plus subscription, which is $4.50 CAD per team member per month in Canada. If you are on Shifts Free with a team of four, you will not see this report.

  3. 3
    Pull your hourly sales for a full month

    In Square Dashboard, open Reports and set the sales summary to group by hour across a four-week range. Export it. You are looking for the shape of your day, not the total, so at least four weeks of each weekday is needed before the pattern is trustworthy.

  4. 4
    Set up reporting hours for your day parts

    Go to Reporting, then Reports, then Settings, then Reporting Hours, and add named windows such as morning rush, midday lull, and afternoon. Give each a timezone and a start and end time, then save. These become time-of-day filters across your reports.

  5. 5
    Open the Labor vs Sales report and find the mismatches

    Navigate to Reports, then Operations, then Labor vs sales. Compare hourly labour cost against net sales and look for hours where labour is high and sales are low, or where sales spike and you were understaffed. These two failure modes need opposite fixes.

  6. 6
    Rebuild one shift, not the whole schedule

    Change the single worst-performing shift first, run it for two weeks, then check the same report again. Rewriting an entire schedule at once makes it impossible to tell which change worked, and it burns staff goodwill you will need later.

  7. 7
    Add your real employer costs before you compare to any benchmark

    Square's figure is hours multiplied by wages only. Add payroll taxes, statutory contributions, benefits and any employer-side costs to get a number comparable to published industry benchmarks. Expect your true labour percentage to be meaningfully higher than the Square report shows.

Frequently asked questions

What is a good labour cost percentage for a coffee shop?
There is no credible coffee-shop-specific published benchmark, and the figures circulating online contradict each other. The closest defensible proxy is the National Restaurant Association's limited-service segment: median salaries and wages including benefits of 31.7% of sales in 2024, with profitable operators at 30.0% and loss-making operators at 34.1%.
Does Square show labour cost as a percentage of sales?
Yes. Labour percentage of net sales appears in the Square Dashboard app under the Home tab, in Labor performance. The fuller Labor vs Sales report lives under Reports, then Operations, and compares hourly labour cost to net sales. It requires a Square Shifts Plus subscription and a wage assigned to each team member.
How much does Square Shifts cost?
Shifts Free covers up to five team members including the account owner and includes basic Shifts features. Shifts Plus is $4.50 CAD per team member per month in Canada, including the account owner, with discounts stated for larger teams. Plans are not prorated. Pricing outside Canada varies, so check Square's pricing page for your region.
Why is my Square labour percentage lower than industry benchmarks?
Because they measure different things. Square calculates hours worked multiplied by hourly rate, excluding payroll taxes, benefits and tips. The National Restaurant Association benchmark includes benefits. Comparing the two directly makes your labour look several points leaner than it is, which is the most common self-deception in café scheduling.
What is prime cost and what should mine be?
Prime cost is cost of goods sold plus total labour, expressed as a percentage of total sales. A widely used operator heuristic puts the target at 60 to 65 percent of sales, with quick-service typically lower than full-service. Treat this as an accounting rule of thumb rather than survey data, because there is no authoritative published benchmark for it.
Does Square report sales per labour hour?
Not natively. Square publishes labour percentage of net sales, labour cost, and scheduled versus actual hours, but there is no built-in sales-per-labour-hour report. Calculate it yourself by dividing total sales for a period by total labour hours in the same period. It is a useful complement because it does not move when your average ticket changes.