Find the overspend while the week is still editable
Labor percentage as you schedule, then scheduled-versus-actual as the week runs. Open punches accrue live, so today’s number climbs while it still matters.
What is labor cost percentage?
Labor cost percentage is labor cost divided by sales over the same period. It is the number most hourly operators actually manage to, because it normalises for how busy a day was — a $900 labor day is fine on a $6,000 day and a problem on a $2,500 one. The useful version is visible before the week is worked, not reconciled after it.
Two numbers, at two different moments
Before the week runs, Sofia shows planned labor against your projected sales, per day and for the week. Once it starts, the same view compares what you scheduled against what people actually clocked — so a plan that looked fine and a week that ran hot are two separate, visible facts.
Planned labor as a share of projected sales, colour-coded per day Weekly labor percentage against your target Scheduled versus actual labor per day once the week starts Variance per day and for the week, with the direction called out
Built to be right, not just fast
Real-time labor numbers are easy to get subtly wrong. These are the specific mistakes the implementation avoids.
Live accrual
Open punches accrue on a tick, so a day in progress climbs toward its real cost instead of showing zero until someone clocks out.
Capped, not unbounded
An open punch stops accruing at 16 hours, so one forgotten clock-out cannot inflate the day without limit on every tick.
The right day
Punches are bucketed by the location’s own timezone, matching the day domain the schedule uses — so a late shift lands on the day it was worked.
The right week
Actuals are queried for the week and location you are looking at, so past weeks read correctly and a busy week is never undercounted.
Costed while you drag
Cost is attached to the schedule itself, not to a report you open afterwards. Moving a shift changes the day’s labor figure immediately, and the publish preview totals the true cost — including any predictability premiums the changes owe — before you commit.
Per-day cost updates as you edit Coverage against the demand forecast alongside cost Publish preview totals true cost including owed premiums Projected overtime surfaced before the week is posted
Questions, answered
Does this connect to my POS?
Projected sales are entered per location and per day by a manager. When an admin turns POS on, Sofia’s till records actual sales beside that plan. A card row means the payment was taken somewhere else. Sofia does not read an external till.
How live is “live”?
Open punches re-accrue on a short interval while the panel is open, so a day in progress climbs as it is worked. Closed punches use their stored paid hours.
Can a forgotten clock-out wreck the number?
It is bounded. An open punch stops accruing at 16 hours, so the worst case is a capped overstatement that is also flagged for review, rather than a figure that grows all night.
Which timezone decides what counts as “today”?
The location’s, falling back to the organization’s. That matches the day domain the schedule already uses, so a punch and the shift it belongs to are never attributed to different days.
Who can see labor cost?
Managers and above. The figures are wage-derived, so visibility follows the same role boundary as pay data elsewhere in the product.
Does it include predictability premiums?
The publish preview does. Its true-cost figure adds the premiums the week’s changes owe plus projected overtime, so the number you approve is the number the week actually costs.