Export payroll hours
Open Time Entries in Thermal →
Export payroll turns approved time entries into a file your payroll provider can import. Approve the hours, check that each person is set up for your provider, then download the file for the current payroll period.
Before you export
- Approve the hours. The export contains only entries with a status of Approved and a clock-out time. Draft, submitted, and rejected entries, and entries still clocked in, are left out. Review and approve them on Time entries first.
- Set the payroll schedule. In Settings → This company → Invoicing, under Payroll, pick your Cadence (weekly, biweekly, semimonthly, or monthly) and an anchor date — any real date that fell on a pay period. The export window is worked out from these two settings.
- Pick the file format. Payroll export format offers Generic CSV (Thermal) and ADP RUN — Time Sheet Import. ADP RUN also asks for your ADP company code (IID) and an ADP rate code (default BASE).
- Add a payroll employee id for each person. For ADP RUN, every staff member with approved hours needs a Payroll employee id on their staff record. See Manage staff and roles.
Download the file
Open Time entries from the sidebar and choose Export payroll in the
page header. The button shows the pay period it covers, for example
2026-09-14 → 2026-09-27, and your browser downloads the file.
The export always covers the current payroll period. It does not follow the date range you have filtered the list to, so if the two don't overlap, the file can be empty. The button's hover text says which period it will pull.
What is in the file
The Generic CSV has one HOURS row per approved entry with the technician, date, hours, time type, and job. Approved field purchases marked reimbursable in the same period are added as EXPENSE rows, so payroll can reimburse them too. Hours are also split into REG, OT, and DT columns using your overtime settings, so payroll does not have to work out overtime again. Employment type and base hourly rate are included as columns; nothing is filtered out by hourly or salary status. The ADP RUN file uses the layout ADP's time sheet import expects.
When the export is refused
Thermal will not send a payroll file with people missing from it. The download fails with a message instead when:
- A person with approved hours has no Payroll employee id and you chose a provider format. The message names everyone who needs one.
- ADP RUN is selected but the ADP company code (IID) is blank.
- The provider you chose is not available yet.
Fix what the message names, then export again.
Who can export
Office roles only. A technician cannot download the company's payroll file.