crew hours to open and close the shop, no matter the volume
Service Hours
Net Sales ÷ SPLH
sales-driven — one hour earned for every Target SPLH of sales
Non-Service Hours
Task list
opening/closing duties and other non-service work (set on the Service tab)
Forecasted Hours uses projected sales; Actual Earned Hours swaps in actual sales once the day is known. Earned vs Actual = actual clocked hours − earned hours — that's your over/under.
Sales Per Labor Hour (SPLH)
SPLH is the productivity target the formula is built around — how much revenue each labor hour earns. Higher SPLH means tighter, more productive staffing.
SPLH = Total Net Sales RevenueTotal Labor Hours Worked
Workload Calculator
"Workload" is the amount of real work a day needs — staff to it. Plug in a projected sales number to see the labor hours it earns, using the tool's formula. Standalone scratch space: nothing here is connected to the Dashboard, Week to Date, or R365, and it changes nothing else in the tool.
$
$
Sales each labor hour should produce. Prefilled from the selected shop — edit to test.
hrs
—
Non-Service Hours
+
—
Projected Sales ÷ Target SPLH
=
—
Labor Hours
🧮 Admin
📤 R365 Report Upload
Upload the Forecast Download Report (weekly) and the Labor Actual vs Scheduled report (one day at a time). Fills forecast sales & scheduled hours for all shops.
—
Non-Service Hours
+
—
Projected Sales ÷ Target SPLH
=
—
Forecasted Hours
$
Used for labor-cost dollar estimates only — your actual hours come straight from R365 and Toast.
hrs
$
Sales each labor hour should produce ($ per labor hour). One shared standard for all shops; new shops use a temporary lower ramp until they mature.
How it works: Labor Hours = Non-Service Hours + (Projected Sales ÷ Target SPLH). Non-Service Hours is one standard baseline shared by every shop; only sales above that earn extra hours. Productivity Goal (the sales each labor hour should produce) is one shared standard for all shops — $225 per labor hour — with a temporary lower ramp for brand-new shops until they mature. Guardrails: never fewer than 2 or more than 10 people during open hours — the Non-Service Hours budget determines how those people's hours get spent, not a separate per-shop headcount.
Week to Date
WTD Sales
—
Hours Used
—
Hours Remaining This Week
—
total left in the weekly budget — not split by day, since weekends run heavier than weekdays
Projected EOW +/−
—
Labor % (Ref)
—
This week, day by day — click a day for hour by hour
Day
Forecasted Sales
Actual Sales
Hours Earned
Hours Scheduled
Actual Hours
Earned vs Actual
SPLH
Hourly Labor Cost $
Labor %
📆 Week-over-Week
Closed-out weeks for this shop. SPLH = sales ÷ labor hours — higher is better.
Week of
Sales
Actual Hrs
Earned Hrs
Hrs Var
SPLH
Labor % (Ref)
SPLH vs Prior
No closed weeks yet.
🧮 Where the Hours Come From
The selected day's par, broken into its parts — fixed work you'd do at any volume, plus hours earned by sales.
Every block below is one labor hour of today's par. Gold hours are bought by sales — each shows the cumulative sales that earned it.
Need = the staffing chart (per hourly sales: $0–250→2, –500→3, –750→4, –1,000→5, –1,400→6, –1,800→7, –2,400→8, –3,000→9, above→10 max) with your baseline crew as the floor. Imported days pre-fill Sched and Actual as an estimate spread from the day's totals (exact hourly punches arrive with the R365 API) — edit any cell to correct it.
Hour
% of Day
Fcst $
Need
Sched
Actual
Var
Status
Graph View
■ Forecasted Hours (from that day's sales forecast) · ■ Actual. Full hour-by-hour detail is above.
📊 Service Hours — What Sales Earn, By the Hour
Hourly Sales
Hours Earned This Hour
Labor % (Ref)
Staffing is capped at 10 hours in any single hour — our maximum on-floor crew. Above that sales level, the hour is covered by the team already scheduled rather than by adding labor.
📋 Non-Service Hours
Task
Minutes
Frequency
Hrs/Day
Non-Service Hrs / Day
—
total of the tasks above — includes Monday tasks on Mondays
Non-Service Hours Split
—
how the 18 baseline hrs divide up
Racking Prep
Racking grows with volume in steps, not a flat number. Enter tomorrow's projected sales (the prep happens today for tomorrow's bake) and the tiers give the prep hours to budget. Complete racking after 1pm.