Skip to content

Employees & Payroll

This guide covers the Employees page and an individual employee’s profile, plus the Payroll & Hours and Salary pages managers use to review worked hours and prepare payslips. Some sections (Contract Maker, default weekly schedule, payslips) only appear if your restaurant has that feature turned on - if you don’t see something described here, check with your account owner or see Restaurant, Billing & Integrations.

Only Owners, Ops Managers, Managers, and Supervisors with access can manage employees; regular staff don’t see the Employees page at all.

The Employees page shows your whole team with a quick stat bar at the top - team size (and how many are active), how many people have manager-level roles, how many have an hourly rate set, and how many are “kiosk ready” (have a PIN code for clock-in).

Each row shows the employee’s name, role, branch, status badge (active / on leave / terminated), hourly rate (if set), and employee ID. Click Edit on a row to open their quick-edit panel, or click their name to open their full profile.

  1. Click Invite Employee at the top of the Employees page.
  2. Enter their first name and last name (required).
  3. Optionally enter an email and phone number.
  4. Choose their role (Owner, Ops Manager, Manager, Supervisor, or Employee), branch/location, and optionally a job role and contract category.
  5. Optionally set a start date.
  6. Click Invite Employee.

What happens next depends on whether you gave an email:

  • With an email: the system sends them an onboarding email with a self-service link so they can set their own password and fill in their personal details, address, and bank details (see Employee onboarding). You’ll also see the link on screen in case the email fails to send.
  • Without an email: no email is sent. The system generates an internal login for them automatically (based on their name and your restaurant name) and a random password behind the scenes. Use this for staff who don’t have or don’t want to use a personal email for work - they can instead log in with their employee code and a password you reveal via Reset Password, or simply clock in at a kiosk using a PIN code you set later on their profile.

Every new employee gets an employee code (e.g. EMP-0001) automatically, and is placed on your restaurant’s default “Full-time” contract category unless you pick a different one.

If your plan has an employee limit, invites are blocked once you hit it, with a message telling you the limit.

Clicking Edit on the list opens a smaller panel where you can change:

Field Notes
Role Owner / Ops Manager / Manager / Supervisor / Employee
Branch/Location Which branch they belong to
Employment status Active / On leave / Terminated
Expected arrival time Used for late-arrival tracking
Contract category e.g. Full-time, Part-time
Start date Employment start date

From the same panel you can also:

  • Generate Employee ID - if one wasn’t created yet.
  • Reset Password - see Resetting a password below.
  • Set a login email - give an employee who currently logs in with an internal/employee-code login a real email address as an alternative sign-in.
  • Email onboarding link / Resend onboarding link - (re)send the self-service link described below, and see their onboarding progress badge (e.g. “Personal info done”, “Complete”).
  • Open their full profile for everything else (pay, schedule, documents, etc).

If the employee was previously terminated, a banner offers a one-click Reactivate to restore their status and login access.

Click Reset Password for an employee:

  • If they have a real email address, SessionPilot OPS sends them a password-reset email, the same as the “Forgot password” flow - they set their own new password.
  • If they only have an internal login (no real email), a new temporary password is generated and shown to you on screen so you can relay it to them directly.

Click Edit, scroll to the bottom, and click Remove Employee, then confirm. This is a soft delete: their account is banned from logging in and their status is set to Terminated, but their history (shifts, attendance, payroll, chat) is kept intact rather than being deleted outright. You can undo this anytime via Reactivate. You can’t remove your own account.

Click Customize Card at the top of the page to choose which fields (role, branch, phone, email, employee code) show on each employee’s ID-card summary at the top of their profile.

When you invite someone with an email, or send/resend an onboarding link from their profile, they receive a link that walks them through a short setup flow themselves - so a manager doesn’t have to collect personal or bank details on their behalf:

  1. Set a password - must be at least 8 characters and include an uppercase letter, lowercase letter, number, and special character. A strength meter shows how strong it is.
  2. Personal details - full name, date of birth, nationality, national ID number (personnummer or BSN, depending on your country), home address, and emergency contact.
  3. Bank details - bank name, account holder name, and country-appropriate account details (IBAN/BIC for the Netherlands, or clearing + account number for Sweden).

A progress bar shows which step they’re on. Once all three are done, the link shows a “you’re all set” confirmation and can’t be used again. Managers can see the employee’s onboarding progress as a badge (e.g. “Personal info done”) on both the Employees list and the employee’s own profile, and can resend the link at any time if the employee lost it or didn’t finish.

Opening an employee’s name (from the list, or from Payroll/Salary) takes you to their full profile, organized into sections.

Personal details, address & emergency contact

Section titled “Personal details, address & emergency contact”

Editable fields: date of birth, nationality, national ID number (personnummer/BSN), street address, postal code, city, and an emergency contact’s name, relationship, and phone number. These are normally filled in by the employee via onboarding, but a manager can fix a typo or fill something in on their behalf here too.

Bank name and account holder name, plus country-specific fields: IBAN and BIC/SWIFT for Dutch restaurants, or clearing number, account number, and optional IBAN for Swedish ones.

Field Purpose
Hourly rate Used to estimate labour cost on Payroll & Salary pages
Expected weekly hours Compared against actual worked hours
Kiosk PIN code 4-8 digit code the employee enters on a kiosk/tablet to clock in and out. Click Generate for a random 4-digit code.
Payroll category Groups the employee for payroll purposes
Expected arrival time Used to flag late clock-ins

This sets an employee’s standard week, which the scheduling tools can use as a starting point - it’s separate from the actual shifts you assign week to week.

For each day of the week:

  1. Tick the Working checkbox to turn that day on (it defaults to a 9:00-17:00 block) or off.
  2. Adjust the start and end time for the block.
  3. Click + Add another block to give that day a second working block - for example a split shift of 9:00-12:00 and 17:00-21:00. Each extra block gets its own remove (×) button once there’s more than one.
  4. Click Save.

A day with no blocks means the employee isn’t scheduled to work that day by default.

If your restaurant has Contract Maker enabled, this section lets you generate an employment contract PDF:

  1. If your restaurant’s business info (name, phone, address, org/KVK number) isn’t complete yet, fill it in first - only the Owner can edit this, from a link inside this section.
  2. Choose an agreement type and click Set up contract to open the detail form for that agreement type, then fill in its fields (an “Assistance mode” toggle shows English hints alongside translated field labels/sections).
  3. Click Save details.
  4. Click Generate Contract to produce a versioned, downloadable PDF snapshot. Each regeneration adds a new version to the Contract history list below, and the previous version is marked superseded.

If contract details or business info change after a contract was generated, a notice flags that the live details have drifted from the generated PDF, prompting you to regenerate.

Shows the job role(s) currently assigned to this employee as removable tags. Use the dropdown and Assign button to add another job role from the ones your restaurant has set up (see Job roles below); a role already assigned won’t appear in the list again.

Upload files (contracts, offer letters, food safety certificates, work permits, ID documents, etc.) against a document type, and view or delete them later. Each uploaded document can be opened via a signed, time-limited link.

The right-hand sidebar on an employee’s profile shows their hours worked this month (plus overtime and whether they’re currently on shift), any availability they’ve submitted for the month, and a calendar of their scheduled shifts and attendance.

The Payroll & Hours page gives managers a real-time view of worked hours and estimated labour cost for a period.

  1. Choose a period: this week, last week, this month, or last month.
  2. If you have more than one branch, filter by branch.
  3. Review the stat bar: total hours worked, overtime hours (beyond the daily threshold), estimated labour cost, and how many people are currently on shift.
  4. 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.
  5. Click Export CSV to download the table for the selected period/branch.

Estimated pay here is a live calculation for reference (rate × hours) - it is not the same as a finalized payslip. Employees who view this page themselves (if pay visibility is turned on for their branch) see only their own hours, overtime, rate, and estimated earnings, plus a list of their individual shifts in the period.

The Salary page (linked from Employees, or in the People navigation) is where payroll gets formally prepared and finalized month by month.

  • Use the month navigation at the top to move between months, and the branch dropdown to filter.
  • Each employee appears as a card showing their status for that month: Not started, Draft, Changed since finalized (hours changed after the payslip was finalized), or Finalized, along with their hours and pay once prepared.
  • Click an employee’s card to open their monthly detail page: a week-by-week, day-by-day breakdown of hours, with the ability to review or adjust a day’s hours/notes before finalizing.
  • On that detail page, click Review & Finalize to lock in the month’s payslip; a Definalize button reverses this if you need to make changes afterward.
  • Back on the Salary page, select multiple employee cards with the checkboxes to Finalize selected or Download payslips in bulk, or use Download all payslips once every employee for the month is prepared.
  • Export Timesheet CSV downloads the raw hours for the month/branch; the stat bar and a payout-by-branch breakdown summarize totals across employees.
  • Payslip Settings (top right) controls how generated payslips are formatted.

Job roles (e.g. “Bartender”, “Line Cook”) are what you assign to employees from their profile, and are created on the separate Roles & Responsibilities page. To create one: click New Role, give it a name, optionally put it under a department and give it a description, color, and a default shift text (a free-text hint like “Weekday evenings”), then click Create Role. The rest of that page - checklists and responsibilities attached to a role - is covered in its own guide.