Your POS emails a daily sales report to somebody every morning, and a payroll report every pay period. Add a crewmuster address to that list. The takings and your crew's punches land on their own, and the week comes back as labor against sales.
Two addresses per store · sales and time cards stay separate · manager-only
Both exist the first time you open the setup panel, so you can paste one into your POS before you've configured anything else. They're separate on purpose. A payroll report can never be read as a sales figure, or the other way round.
Approval matches the envelope address and never the display name a sender picked, which is why the review screen shows you the bare address first. It's your judgement about an address. It isn't proof of where the mail came from. Each door holds up to 20 unapproved senders and 14 messages each, after which further mail is dropped and recorded.
An imported figure counts as confirmed, because a person supplied it, and it's stored apart from an emailed report for the same day so neither overwrites the other. Re-import a corrected file to replace what you brought in before.
Reading a report is a matter of finding the labels your POS prints. A layout crewmuster recognizes is read the moment it arrives, with no model involved. One it hasn't met is read once by Claude, and what's kept from that reading is the layout's labels rather than its figures, so the next report of that shape is read here.
A day with no figure is drawn as a gap rather than a zero, so the weeks before you started recording don't read as weeks you took nothing.
Processing happens in the United States, which crewmuster requests on every call. Anthropic deletes what it receives within 30 days and doesn't train on it, and it's named as a sub-processor in our DPA.
Typing the day's sales in, or importing a spreadsheet, involves none of this. The model path exists for the emailed reports and nothing else.
Send the payroll report to your time-card address and the punches land on crewmuster timesheets beside what you scheduled. A report can cover one day or a whole pay period, and only the days its punches fall on are rewritten. A weekly report never blanks the days it's silent about.
Rate, pay, tips, and any employee ID number on the report are not read and not stored. crewmuster takes the clock-in and clock-out instants. This path involves no model at any point, so a layout that can't be read is filed with a note and those hours are added by hand.
A name on the report writes no punches until you match it to one of your crew. There's no fuzzy name matching, because a POS routinely spells somebody differently from your roster. Reports that arrive before you've finished matching are kept, so matching a name fills in every day it has already appeared on.
Fix a punch at the till, re-send the report, and the corrected version overwrites what was recorded for that person and date. That includes overwriting a correction a manager made here. It's counted and shown on the report list rather than prevented, because the POS is the system of record on this path. The punch-history trail keeps both either way.
No clock on your till? Crew punch in at the kiosk with a four-digit PIN instead. Imported punches behave exactly like kiosk ones from there: worked time, overtime classification, break rules, the payroll export, and actual against scheduled all read the same. Crew see their own imported hours on their schedule.
The schedule builder shows labor as a percent of sales for the week and for each day, against a target you set. Open a day for the labor cost, the sales figure behind it, and whether that figure is a forecast. A day with no sales yet uses a forecast from the same weekday, and a projected number always says it's projected.
Hours, labor cost, sales, and labor percent by day, week, and month. Broken out by day of week, by crew member, and rolled up across every store on one account. Labor percent comes from each period's own totals rather than an average of daily percentages, which would weight a quiet Monday the same as a Saturday.
Who starts late, who leaves early, which shifts run over, and what the unplanned time cost. Across a range, not one week at a time. More than five minutes either side counts, which is tighter than the alert threshold on purpose. Someone seven minutes late every day is invisible at ten.
The lateness figure per person is the median of their late shifts rather than the mean, so one bad morning doesn't define somebody. Punch rounding is never applied here. That's an export setting, and applying it to a report would let a store configure its own lateness away.
Any report exports to CSV or JSON. Approve a week's timesheet and the hours become a payroll file with overtime split out and paid time off under its own earning code, in a summary or a per-day detail shape. Take the whole account back as a zip of CSVs whenever you like.
Check the earning-code names against a current template from your payroll provider before the first real run. The export refuses a week nobody approved, and a person nobody has matched to a payroll record, until you override it deliberately.
Every number above has an edge, and you should know where it is before you plan around it.
It's the wages on your roster against scheduled hours. It isn't payroll output, and it won't match your payroll company to the cent. Wages have to be on the roster before the figure appears at all.
crewmuster sorts hours into regular, overtime, and double time for the rules you configure. It does not compute pay, run payroll, or file taxes. That stays with your payroll company and your accountant.
Crew never see them, at your store or any other, and that's enforced in the database, not hidden in the screen. Scheduled against actual is manager-only for the same reason.
Scheduled against actual is not a rating and not a disciplinary tool. There's no ranking until you sort by a column, no per-person trend line, and no alerting off these figures. It records when somebody clocked in, never why.
A draft isn't a commitment, and an unclaimed open shift has nobody to be late. A store with no punches at all doesn't see the section, because every shift would read as a missed clock-in.
Labor percent and the sales views stay switched off until a store has recorded takings, and the toggle tells you why instead of showing you a blank. A forecast needs two comparable weekdays behind it, which takes about two weeks.
Start a 30-day free trial. No card required, $29 a month for your first store, $19 for each one after. Founding rate for the first 25 accounts, locked for the life of your account.