See it in actionBook a demo →

Employees, time tracking, and payroll

Add employees, track hours and mileage automatically from the mobile app, run payroll summaries, and set up vehicle costs so your profitability numbers are true.

Updated October 22, 2026

Setup: Your Team (1:18 video). Open on its own page

Your team, in four pages

The Team section of the dashboard has four pages: Employees (your technicians and staff, their roles and schedules), Time Tracking (hours and clock-in/out records), Payroll (payroll summaries built from tracked time), and Vehicles (company vehicles, assignments, and mileage).

Technicians don't punch a clock. Clock-in/out and mileage are recorded automatically by the mobile app as they run their routes — and it works offline, syncing when they're back online.

Adding a teammate emails them an invite under your company name (unless you turn off Send invite now), so sending that invite requires a verified phone number or email on the owner's account; see verify your phone or email. Before you verify you can still add your team: Send invite now starts off, and you send each invite from their page once you have verified.

Add an employee

The Employees page listing team members with their roles and schedules, plus an Add Employee button

The Employees list starts with the longest-standing employees first. Click a column header (Name, Roles, Phone, Email, or Address) to sort the whole list by it; click it again to reverse the order. An arrow shows the column and direction in use, and the sort is kept in the page address. Employees with nothing in that column (no email, say) come first A to Z and last Z to A. The Admin Invite Status column can't be sorted. While you search, results are ordered by best match instead.

The Hasn’t signed in tab above the list (next to All) shows only active teammates who have an email but have never signed in (owners are left out). Its Invite column says Never invited or Invited, hasn’t signed in, with a Send invite or Resend button that emails every invite their roles call for. The tab is kept in the page address as /dashboard/employees?status=not_signed_in, and the teammates haven’t signed in yet row on the To do list opens it. (The To do list waits 3 days after someone is added before listing them; the tab shows them right away.)

  1. 1In the sidebar, go to Team → Employees and click Add Employee.
  2. 2Fill in their name, phone, email, address, hourly rate, role, and work schedule (the default is 08:00–17:00). Only name, email, and a role are required. Phone and address are optional, so you can add office or remote staff who have neither. A technician's address is used as their default route start, so add one for technicians when you can.
  3. 3If none of the existing roles fit, create one first on the Roles page — see Roles and permissions.
  4. 4Leave Send invite now on to email their invite right away, or turn it off to add them quietly (see below).
  5. 5Click Create Employee.

During the guided get-started flow, the "Your team" step is another way to add teammates: name and email are required (the technician-app invite goes to the email), while phone, hourly rate, work days & hours, and address are optional. "Save & add another" keeps the form open for the next teammate. A Send invite now checkbox there works the same way as on the Add Employee form, and stays how you left it for the next teammate. See the quick start guide.

Add employees without notifying them (invite later)

Setting up your team before you switch over from other software? Turn off Send invite now on the Add Employee form. The employee is created with their roles, schedule, and pay, but nothing is sent to them: no invite email, no text message, and no app notification. They can't sign in until they get their invite.

  1. 1When you're ready, open Employees and click the employee.
  2. 2Their page shows a Not invited yet notice. Click Send invite.
  3. 3They get every invite their roles call for: the technician app download email for technicians, and the dashboard sign-in invite for administrators.

For an administrator, the Send invite button in the Admin Invite Status column (status Not Sent) does the same thing. Editing a quietly added employee, even changing their email or role, never sends an invite on its own. Sending the invite needs permission to edit employees and a verified phone or email on the owner's account.

Invites only go out by email. Pool Founder never texts an invite to a new employee, and there is no way to invite someone by text message.

Admin invites: send, resend, and track status

Giving a teammate the Administrator role (with an email on file) emails them an invite to the web dashboard automatically. The Admin Invite Status column on the Employees page tracks where that invite stands — it only shows for admin logins; owners and plain technicians show a dash.

  • Accepted — they've set up their login and can sign in.
  • Pending — the invite email is sent and waiting to be accepted.
  • Expired — the invite link timed out before they used it.
  • Not Sent — no invite has gone out yet.

If an invite is Expired, Pending, or Not Sent, a Resend button (or Send invite, when none has ever been sent) appears right next to the status in that column — click it to email a fresh invite. Like adding a teammate, sending an invite requires a verified phone or email on the owner's account (see verify your phone or email).

What adding a technician does to your plan

Pricing scales with your team automatically (see plans and your subscription) — there is no upgrade dialog and no limit to manage below 10 technicians:

  • If adding a technician crosses into a bigger tier, the Add/Edit Employee form shows a notice with the new plan and price before you save — e.g. "Adding this technician updates your plan to Growth — $179/mo, prorated automatically."
  • On a trial, the notice explains the plan tracks your team for free until you upgrade to paid.
  • Removing or archiving technicians scales the plan back down the same way, with the proration credited automatically.
  • Past 10 technicians (the largest self-serve tier), adding another opens a "Time to talk Enterprise" dialog with a Book a call button — Enterprise pricing is custom.

Archiving an employee (and what it changes)

The Archive button on an employee's page opens an impact dialog — "Archive {name}?" — that spells out what happens before you commit:

  • It lists how many routes will be unassigned, by name (or notes "This employee is not assigned to any routes.").
  • Each of their routes keeps its day and all its stops, but loses its technician and is renamed "Unassigned - {Day}" (e.g. "Unassigned - Monday") until you assign someone else.
  • You must type the employee's name to enable the Archive Employee button.
  • Archived employees are hidden everywhere until unarchived — tick Show Archived on the Employees page to find them, then click Unarchive on their page.
  • The company owner cannot be archived.

Archiving deletes the employee's role assignments, and unarchiving does NOT restore them. After you unarchive someone, re-assign their role — until you do, they have no role permissions.

Removing the Technician role from someone

Unticking Technician on the Edit Employee form (the owner can do this to themselves too) takes the person off the schedule, so it protects their work:

  • If any of their routes still has stops, or stops were transferred to them for today or a later day, saving is refused with a message naming those routes. Move the stops to another technician's route in the Route Builder first, then save again.
  • If their routes are empty, saving archives those routes for you, so no empty route is left behind.

If you're the owner and don't do technician work

The Owner role has every permission, including Field technician (assignable to routes), and it can't be edited. What decides whether the owner does technician work, and is listed when you select a technician, is the Technician box on the owner's own employee profile. A new account starts with it ticked, because most owners also run routes.

  1. 1Go to Employees, open your own employee page, and click Edit.
  2. 2Under Roles, untick Technician. The Owner box stays ticked and can't be changed.
  3. 3Click Update Employee.

With Technician off, the owner no longer appears anywhere you pick a technician (the Select Technician list on the job schedule, route and transfer pickers, the technician app, automatic suggestions), can't be given routes or stops, and doesn't count as a billable tech seat. The owner keeps full access to everything else. Tick it again any time to go back on the schedule. Removing it follows the same rules as for anyone else (see above): routes that still have stops must be moved first.

Time tracking and mileage

  • Clock-in/out and mileage are tracked automatically by the technician mobile app — no manual timesheets.
  • The Time Tracking page shows hours and clock-in/out records for the team.
  • Miles per route come from the odometer, GPS, or an estimate.
  • The mobile app works offline and syncs the records when the phone is back online.

Payroll and labor costs

The Payroll page builds payroll summaries from the tracked time. Pick the period with the selector at the top: Current Pay Week, Last Pay Week, Bi-Weekly (Last 2 Weeks), This Half-Month, Last Half-Month, or Custom Dates. The half-month options are for teams paid twice a month: the 1st–15th, or the 16th through the last day of the month. Custom Dates adds a Choose dates button that opens a calendar; click the first day of the pay period, then the last, and click Done. The chosen dates show next to the selector as "Period:". The page remembers the option you last picked on that browser (a custom range goes back to the current half-month when you reload). The table shows each employee's rate, regular hours, overtime hours, total hours, miles, mileage reimbursement, and gross pay, with a totals row at the bottom.

The Settings popover (top right) holds the company-wide payroll settings:

  • Mileage Rate ($/mile) — what you reimburse per mile driven (defaults to $0.70).
  • OT Threshold (hours/week) — hours per week before overtime kicks in (defaults to 40).
  • OT Multiplier — the overtime pay rate, e.g. 1.5 for time-and-a-half.
  • Work Week Starts On — which day your pay week begins; the pay-period selector follows it.
  • Labor Burden (%) — payroll taxes, workers' comp, and similar costs, added on top of wages in profitability labor costs (typical: 12–18%).
  • Monthly Overhead ($) — fixed costs (insurance, software, rent), shown as an overhead line on the Profitability page for true net profit.

Export CSV downloads the period as a spreadsheet with one row per employee (hours, stops, rates, base, variable, bonus, mileage, and gross pay; the full column list is in technician pay and scorecards), ready to key into your payroll provider like ADP or Gusto. Export stops CSV downloads one row per completed stop instead (technician, date, customer, address, type, and what the stop paid), and clicking a technician's row shows the same list on screen under Every stop. Pool Founder builds the summaries; it does not process payroll, withhold taxes, or file W-2s or 1099s. Your payroll provider (Gusto, ADP) does that.

Each technician can be marked a W-2 employee or a 1099 contractor with Worker type on the Pay card of their employee page. The Payroll table shows a W-2 or 1099 badge by each name (a dashed Not set when none is chosen), and the select next to the pay period filters to All workers, W-2 employees, 1099 contractors, or Worker type not set. Both exports follow the filter, and Export CSV has a Worker Type column after Employee Name, so contractors can go into their own payroll run (Gusto pays contractors separately). See technician pay and scorecards.

Hourly is only one option. Each technician has a pay model — Hourly, Per stop, Hourly + per stop, or Commission — set in the Pay card on their employee page, and the Payroll page can add a company-wide quality bonus that scales per-stop and commission pay by the technician's scorecard score, their average stop rating over 30 days (never hourly wages). Each payroll row also expands into the technician's scorecard. See technician pay models, the quality bonus, and scorecards.

After changing the labor burden %, hourly rates, or odometer readings, use the "Recalculate" button on the Profitability page to recompute all profitability data. See profitability analytics for how labor and mileage feed your margins.

Vehicles and driving cost

The Vehicles page tracks company vehicles, their assignments, and mileage. Each vehicle's cost settings decide how driving cost is calculated in profitability analytics:

  • Cost per Mile ($) — an all-in rate covering fuel, wear, and depreciation. If set, it overrides everything else.
  • Miles Per Gallon (MPG) — if you only enter MPG, the system computes a fuel-only cost from weekly regional gas prices.
  • Both set — the mileage cost splits into Fuel (miles × gas price ÷ MPG) and Vehicle wear & depreciation (the rest of the all-in rate), shown in the Total Costs tooltip and on route detail pages — so you can see actual gas spend separately from wear.

Change a vehicle's MPG: open Vehicles, click the vehicle, click Edit, change Miles Per Gallon (MPG) and click Save Changes. MPG is the vehicle's fuel economy, not the miles it has driven: mileage driven comes from odometer readings (see "The vehicle detail page" below). You can also ask George to change a vehicle's MPG; he prepares it for your approval.

Technicians can also add a vehicle from the field: the mobile app's Today tab actions list has an "Add Vehicle" row under the Create heading.

The vehicle detail page

Click a vehicle on the Vehicles page to open its detail page:

  • Three mileage stat cards — Total Miles, This Month, and This Week — computed from odometer readings.
  • A Vehicle Information card (color, license plate, VIN, current odometer, last odometer update, MPG, notes) and an Assigned Employees card, where the default assignment carries a "Default" badge.
  • A Mileage History table listing every route run and logged trip: date, type (a Route badge, or the trip's purpose), employee, start and end odometer, miles, and photos.
  • Odometer photos taken by technicians show as thumbnails — click one to view it full screen.
  • Team members with mileage-management permission see an edit button on each row that opens the Edit Odometer dialog — fix the Start Odometer or End Odometer reading, with a live miles preview that blocks saving if the end reading is below the start.

After correcting odometer readings, use Recalculate on the Profitability page (or the per-run Recalculate on that route run's detail page) so mileage costs pick up the fix.

Frequently asked questions

I'm the owner and I don't do technician work. Why am I listed when I pick a technician?

Your employee profile still has the Technician role, which every new account starts with. Go to Employees, open your page, click Edit, untick Technician under Roles, and click Update Employee. You'll stop showing up in technician pickers and on the schedule, and you won't count as a tech seat. You keep full owner access.

Do technicians have to clock in and out manually?

No — clock-in/out and mileage are recorded automatically by the mobile app while they run their route, even offline (records sync when the phone reconnects). The records show up on the Time Tracking page.

How are miles per route calculated?

From the odometer, GPS, or an estimate. If a completed visit is missing labor time or mileage data, the Profitability page flags it so you know the numbers are incomplete.

How do I change the gas mileage (MPG) on a vehicle?

Open Vehicles, click the vehicle, click Edit, change Miles Per Gallon (MPG) and click Save Changes (or ask George to update it). MPG is the vehicle's fuel economy, used for the fuel cost in profitability; it is not an odometer reading. To fix the miles driven on a route instead, use the edit button on that row of the vehicle's Mileage History (Edit Odometer).

Should I enter Cost per Mile or MPG on a vehicle?

Enter an all-in Cost per Mile if you know it — it overrides everything and captures fuel plus wear and depreciation. If you only enter MPG, the system computes a fuel-only cost from weekly regional gas prices. With both set, the cost splits into Fuel and Vehicle wear & depreciation so you can see each separately.

Where do I set what an employee is allowed to do?

Each employee is assigned a role, and roles carry granular permissions. Manage them on the Roles & Permissions page — see the Roles and permissions article.

I unarchived an employee but they have no permissions — why?

Archiving an employee deletes their role assignments, and unarchiving does not restore them. Re-assign their role after unarchiving and their access comes back.

Can I add employees without them getting an invite or any notification?

Yes. On the Add Employee form, turn off "Send invite now" before clicking Create Employee (the get-started "Your team" step has the same checkbox). Nothing is sent to them: no email, text, or notification. When you're ready, open their employee page and click Send invite on the "Not invited yet" notice.

What do I need to fill in to add an employee? Are phone number and address required?

Only three things are required on the Add Employee form: Name, Email (the invite goes there), and at least one role. Phone Number, the address, hourly rate and work schedule are all optional, so leave them blank if you don't have them and click Create Employee. For a technician, an address is worth adding later because it is their default route start and end point.

Can I add a remote or office employee without a phone number or address?

Yes. On the Add Employee form only name, email, and a role are required. Leave Phone Number and the address blank and click Create Employee. For technicians, an address is worth adding because it is their default route start and end point.

An admin's invite expired. How do I resend it?

On the Employees page, find the person in the list and look at the Admin Invite Status column. Whenever the status is Expired, Pending, or Not Sent, a Resend button (or "Send invite") appears right next to it — click it to email a fresh invite. Sending an invite requires a verified phone or email on the owner's account.

Related articles

Make Monday easier than last Monday.

30-day free trial. No credit card required. Cancel anytime.