Payroll & Hours
The Payroll & Hours page gives managers a real-time, unofficial view of worked hours and estimated labour cost for a period - it’s built directly from clock-in/clock-out records (attendance), not from finalized payslips. For the month-by-month workflow that actually locks in pay and produces payslip PDFs, see Salary & Payslips.
What Payroll & Hours shows
Section titled “What Payroll & Hours shows”- Choose a period: this week, last week, this month, or last month. Weeks run Monday-Sunday; “this month”/“last month” are calendar months.
- If you have more than one branch, filter by branch.
- Review the stat bar: total hours worked, overtime hours (beyond the daily threshold), estimated labour cost, and how many people are currently on shift.
- The table lists each employee with their branch, days worked, hours, overtime, late-arrival count, hourly rate, and estimated pay for the period. A green “On shift” badge marks anyone currently clocked in.
- Click Export CSV to download the table for the selected period/branch, with columns Employee, Employee code, Branch, Days worked, Hours, Overtime hours, Late arrivals, Hourly rate, Estimated pay. Note the exported header labels the rate/pay columns “(SEK)” regardless of your restaurant’s actual configured currency - the figures themselves are correct, just the column label doesn’t adapt yet.
Overtime is calculated per day, not per week: any day where an employee’s worked minutes exceed 8 hours (480 minutes) counts the excess as overtime, summed per employee across every calendar day their clock-ins fall on within the period, then added up across the period. “Days worked” counts a calendar day as worked if there’s any attendance record with a clock-in that day - the count comes from the number of distinct days that have at least one minute logged, not from scheduled shifts.
Estimated pay here is a live calculation for reference (rate × hours, rounded to the nearest cent) - it is not the same as a finalized payslip, and open (still clocked-in) shifts count up to the current moment (capped at the end of the period for a past period, so a shift still running when you view “last week” doesn’t keep accruing past that week’s boundary). Break time (completed or currently in progress) is subtracted from worked minutes before any of these totals are computed.
Employees who view this page themselves see only their own hours, overtime, rate, and estimated earnings, plus a list of their individual shifts in the period - never the team table, branch filter, or CSV export, which are manager-only. Their own pay figures are only shown at all if pay visibility is turned on both at the restaurant level and for their specific branch (show_pay_to_employees on the restaurant and on the branch) - either one being off hides it, and the hidden figure is stripped out before the page data is even sent to the browser, not just hidden in the UI.
Frequently asked questions
Section titled “Frequently asked questions”Payroll export is missing hours for someone. Payroll & Hours is built from attendance (clock-ins), not scheduled shifts, so someone who was scheduled but never clocked in shows zero hours for that period. Also check the period boundary: the export matches on clock-in time, so a shift that started before the selected period (e.g. clocked in shortly before midnight, running into the next day or week) is counted in the earlier period, not the one you’re viewing.

