Send hours to Paychex Flex

Set up your Paychex client ID and paid time off names, then download the Payroll Upload file that Paychex Flex imports as it is.

Set your provider to Paychex Flex and enter your client ID in Settings > Payroll. Then click Paychex Flex upload file on Reports > Payroll to download a file in Paychex Flex's own upload layout.

One-time setup

  1. In the sidebar, click Settings, then the Payroll tab.
  2. In Payroll provider, set Provider to Paychex Flex.
  3. Enter your Paychex client ID, the Client ID on your Paychex Flex account. It goes in the first column of every row, so the section cannot be saved without it.
  4. Under Paid time off in the upload file, type Paychex's name for vacation pay and Paychex's name for sick pay exactly as your Paychex Flex account shows them. The vacation name is also used for paid personal days.
  5. If you would rather enter paid time off in Paychex yourself, tick I enter paid time off in Paychex myself. Leave it out of the file.
  6. Click Save beside the heading.

Each pay period

  1. In the sidebar, click Reports, then Payroll.
  2. Check the Period (it opens on your last completed pay period) and the Location.
  3. Click Paychex Flex upload file. A file named Payroll Upload with the dates downloads.
  4. Upload it in Paychex Flex where you import payroll hours.

What is in the file

  • The 16 columns of Paychex Flex's upload, starting with Client ID and Worker ID.
  • Worker ID is the person's Payroll ID, or their employee number when there is no Payroll ID.
  • One row per pay component: Hourly for regular hours, Overtime and Double Time only when there are any, and 1099-NEC for contractors.
  • Overtime rows carry the base rate. Paychex applies the multiplier.
  • A raise in the middle of the period gives a row for each rate, so each day is paid at the rate in force on it.
  • Paid vacation and sick hours, under the names you entered.
  • Somebody with no hours still gets an Hourly row of 0.00, as Paychex's own template does.

Salaried employees

Paychex pays a salary from its own setup, so salaried people get no Hourly row. Sending one would pay them a second time by the hour. Their overtime is sent if they are owed any.

If the download is refused

  • No client ID: enter it in Settings > Payroll first.
  • Paid time off with no name for it: the period has paid vacation or sick time and the file has no name to put it under. Enter the name under Payroll provider, or tick the box to leave paid time off out. Kloqk refuses rather than send a file that quietly leaves pay out.

Good to know

  • Exports are on every plan, including Free.
  • Fix missing clock-outs before downloading. See missing clock-outs.

Questions people ask

Where do I find my Paychex client ID?

It is the Client ID on your Paychex Flex account. Kloqk puts it in the first column of every row of the upload file.

Why does Kloqk refuse to download the file?

Either the client ID is missing, or the period has paid vacation or sick time and no Paychex name for it. The message says which, and both are fixed in Settings > Payroll.

Why are overtime rows at the normal rate?

That is how Paychex Flex expects them. Paychex applies the overtime multiplier itself.

Our salaried manager has no Hourly row. Is that wrong?

No. Paychex pays salaries from its own setup. Only their overtime, if any, is in the file.

Related guides

Still stuck, or missing a feature?

Ask in the chat in your dashboard or email [email protected]. A real person reads every message, and we'll work it out.

Updated 2026-10-07