Run Payroll

Running payroll is the most crucial part of the system. At this stage, all previous settings are taken, validated, and (if they are ok) payroll is calculated.

The following endpoints are used for going through payroll:

First of all, you have to call Start Payroll. This returns the runId of the new payroll run. In case the payroll has already been running, return the status of the running payroll.


Payrolls are scheduled in real time

Payrolls are scheduled by their frequency and payroll period / pay date settings. Running payroll out of proper date window can lead to warnings. You can ignore them on sandbox and during testing but keep this in mind for production implementation.

Payroll run is generally presented as a wizard leading you through the process and calculation. The payroll wizard has five steps in the UI, which are:

  • Inprogress- This is the default UI step if payroll run processing is somewhere between UI steps in the payroll run wizard.
  • Timesheet- This is the next UI step after making the endpoint call.
  • Overview - This is the next UI step that displays the information used for payroll processing.
  • Locked- This UI step is where the payroll is finalized, and payments are processed.
  • Finished -This is the final UI step switched to directly from Locked after payment has been correctly processed, and the payroll is finalized.

For every particular internal processing state endpoint returns also description (currentProcStepDesc), progress (currentProcStepProgress), and status (currentProcStepStatus), which can be used to show progress in UI. With this differentiation, you can better view the calculation process.

Payroll processing runs as a background operation and will continue to the next UI step without a browser. You can run the next step and close the browser without issues.

You can Discard payroll entirely at any time and re-run it again.

For a fuller information on how payroll runs in our system, please see here